0

カスタム投稿タイプ テンプレートを編集しています。カスタム フィールドを使用してメタ ボックスに情報を入力し、すべてのページに静的なデフォルト テキストを含めています。

基本的に、the_content の投稿情報と、静的テキストおよびいくつかのメタ ボックス情報を「チャンク」する必要があります。ここに私が欲しいものがあります:

  • コンテンツ
  • 静的テキスト
  • メタボックス 1
  • より静的なテキスト
  • メタボックス 2
  • _content の終わり

the_content の前にソーシャル ボタンを追加し、the_content の後に署名を追加するプラグインがあるので、すべてのカスタム要素をそれらの間に挟む方法を見つけようとしています。

テンプレートにメタ ボックスを追加すると、それらは the_content の外側に表示され、プラグインは不要な場所に表示されます。

4

3 に答える 3

1

私は自分でこれを理解することになりました。解決策: functions.php と add_filter を使用して、デフォルトのコンテンツを作成する新しい関数を作成する必要がありましたが、うまく機能しました。

興味のある人のための一般的なコードは次のとおりです。

function custom_post_type_default_content($content) {
global $post;
    if ($post->post_type == 'your-custom-post-type') {
    $content .= '<p> '. get_post_meta( $post->ID, "metabox-1-slug", true ).' 
    <br />
    <p> '. get_post_meta( $post->ID, "metabox-2-slug", true ).'</p>
    <p>YOUR TEXT HERE.</p>';
}
add_filter('the_content', 'custom_post_type_default_content', 0);

端のすぐ近くのゼロが配置を制御することに注意してください。優先度が「1」のソーシャルメディアプラグインがあり、デフォルトのコンテンツをその上に表示するには、これを優先度を「0」にする必要があります。

また、次のコードを開いたり閉じたりする単一のアポストロフィにも注意してください$content .=

基本的に、これらのアポストロフィの間に必要なものを追加します。この場合、コードを含む独自のアポストロフィを持つメタボックス情報を取得しています。混乱します!

言い換えれば、コードは$content .='YOUR CUSTOM CONTENT'これらのアポストロフィ内にある必要があり、テキスト、コードなどを追加します。スタンドアロンのメタボックス コードは'. get_post_meta( $post->ID, "metabox-1-slug", true ).'、YOUR CUSTOM CONTENT テキストがある場所にネストされています。

これらは私をつまずかせたものなので、私のような他の誰かを助けるためにそれらを詳細に説明すると考えられたので、私は基本的にこれを自分自身に説明しています. または、これをもう一度調べに行かなければならないときは私です!

于 2011-09-18T16:59:22.687 に答える
0

このコードを function.php ファイルにコピーします。

function content_function_update($content) {

    global $wp_query, $post;

    if ($post->post_type == 'your-custom-post-type') {

       $postid = $wp_query->post->ID;   
       $value1 = "your value 1";

       if($value1 !== '') {
          $content = $content . "<br>" . $value1 
       }
       else {
          $content = $content;
       }
    }

    return $content;
}

add_filter('the_content', 'content_function_update');

カスタム コンテンツを変数に追加し、それを $content 変数に追加します。

于 2016-08-23T23:53:48.567 に答える
0

使用しているカスタム フィールド名 (および必要な場所) と共に single.php をここまたはペーストビンに投稿してください。

于 2011-09-04T22:07:47.330 に答える