• 解決済 greon999

    (@greon999)


    自作しているプラグインにfunctions.phpがあり、そこに記述する形でテーマ側の「次の投稿」「前の投稿」を削除したいのです。つまりはthe_post_navigationを完全に無効化したいのです。

    googleのgeminiに聞くと、プラグインのfunctions.phpに以下の記述でOKとのことでしたが、効果ありません。
    function remove_post_navigation() {
    remove_action(‘the_post_navigation’,’the_post_navigation’);
    }
    add_action(‘wp_head’,’remove_post_navigation’);

    https://qiita.com/kurudrive/items/729c2ce8d7ac5026759e
    は正解に近い気がするのですが、いろいろ書き換えてみたものの成功しません。

    cssでdisplay:none;にするとか、テーマ側のphpファイルを書き換えるとかの方法はダメです。どんなテーマを使ってもプラグイン側からthe_post_navigationを無効化するのが目的です。

    分かる方がいらっしゃれば教えていただきたいです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは。

    the_post_navigation はあくまでもWordPressのコア関数なので、アクションフックでもフィルターフックでもありません。なので、remove_action()remove_filter() も効きません。

    the_post_navigation() が出力する HTML を空にしたい」ということであれば、以下のようなコードで出来ると思います。

    function hide_previous_next_post_link( $output, $format, $link, $post, $adjacent ) {
    return '';
    }
    add_filter( 'previous_post_link', 'hide_previous_next_post_link', 10, 5 );
    add_filter( 'next_post_link', 'hide_previous_next_post_link', 10, 5 );

    必要に応じて、コールバック関数の引数を使用して、条件付きで出力するHTMLをコントロールしてください。

    トピック投稿者 greon999

    (@greon999)

    凄いです!期待通り、HTMLごと完全に消えました!
    問題解決です、ありがとうございました!

    「次の投稿」「前の投稿」を削除することを解説しているサイトは数多くあり、それだけ多くの人が解決策を探している問題だと思ったのですが、これで多くの人が救われると思います!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。