サポート » 使い方全般 » カスタムフィールドに本文2を登録し、既存本文と切り替え

  • 解決済 xaharrr

    (@xaharrr)


    wrodpress初心者で詰まってしまい、どうすればいいかわからず質問させて頂きます。

    今現在、プラグイン作成にかかっていまして投稿画面に既存のエディタと自作のエディタを設けるところまではできました。
    そして自作のエディタの登録さきがwp_postmetaテーブルでエディタのidがmeta_keyとして登録されているということまでは認識できました。

    最終的にはショートコードを生成してフロントでスイッチし、本文1とカスタムフィールドの本文2をURLのパラメータ値で切り替えて表示したいと考えております。

    その一歩目として本文の切り替えを行いたいと思っています。

    ですが、フィルターを使うのかと思い調べているのですがなかなかうまくいきません。
    現在はプラグインファイルのindex.phpに

    $test_post = get_post_meta($post->id, '_my_extend_editor_ex', true);
    echo apply_filters ( 'the_content', $test_post -> post_content );

    を記述していますが上手くいきません。

    ご教授いただける方、よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • $test_postの中身がカスタムフィールドに登録された本文2そのままなら
    $test_post -> post_content  ではなく $text_post だけでいいのではないでしょうか?

    ご指摘頂いた通りコードを書き換えました。

    $test_post = get_post_meta(15, '_my_extend_editor_ex', true);
    echo $test_post;
    apply_filters ('the_content', $test_post);

    2行目で表示させた文字列は私の希望の本文2そのものでしたが、私の書き方が悪くフィルターが働いていないのか切り替わりがうまくできていません。

    上記コード以外にも何か記述が必要なのでしょうか。
    質問ばかりで申し訳ありません。

    フィルターをかけていない状態(2行目)でechoしてフィルタをかけた状態で何もしていないからではないでしょうか?(3行目)

    echo apply_filters (‘the_content’, $test_post);

    でいいのでは?

    gogoweb様

    ありがとうございました。
    下記コードでうまくいきました。

    function test_content(){
    $test_post = get_post_meta(15, '_my_extend_editor_ex', true);
    $content = $test_post;
    	return $content;
    
    }
    add_filter ('the_content', 'test_content');

    $test_postがそのままで良いという事、教えていただいたおかげです。
    勉強不足にもほどがあると痛感しました。
    ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタムフィールドに本文2を登録し、既存本文と切り替え」には新たに返信することはできません。