サポート » 使い方全般 » WordPress親選択リストのカスタマイズについて

  • WordPress編集画面の親選択リストのカスタマイズについてご質問です。
    親選択リストに表示されるページが全ページ表示されてしまうので、下記サイトを参考に1階層目かつ、ログインしているユーザーが作成したページのみに絞り込みたいと考えています。
    https://www.online-inc.jp/archives/694
    https://qiita.com/shin1kt/items/c2680f5d6e1006cc486d

    現状、1階層目の絞り込みはできたのですが、ログインしているユーザーが作成したページの絞り込みができていません。現在のソースコードは下記のとおりですが、PHPが知識不足のため、ログインしているユーザーが作成したページの絞り込みが何故うまくいっていないのかがわかりません。

    修正点などありましたらご教示いただければ幸いです。

    function online_dropdown_pages_args( $dropdown_args ) {
    
            $user_info = wp_get_current_user();
            $pages = get_pages(array(
                'authors'=> $user_info -> ID,
            ));
            $page_ids = array_map(function($p){
                return $p -> ID;
              },$pages);
            $dropdown_args['depth'] = 1;
            $dropdown_args['include'] = $page_ids;
        return $dropdown_args;
    }
    add_filter( 'page_attributes_dropdown_pages_args', 'online_dropdown_pages_args' );
    add_filter( 'quick_edit_dropdown_pages_args', 'online_dropdown_pages_args' );
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • @junji_yamamoto さん、こんにちは。

    お示しのコードは動作しているようですよ。
    ただし、Code Reference を見ると、This hook is not working with Gutenberg / Block Editor と記載されていて、どうもブロックエディタだとこのフックは動作しないようです。
    https://developer.wordpress.org/reference/hooks/page_attributes_dropdown_pages_args/

    実際にブロックエディタでは指定されたサイトのどちらのコードも動作しませんでした。
    Classic Editor プラグインを入れて試してみたところ、指定されたサイトおよび上記で記載されているコードどちらも正常動作しました。

    ご参考になれば。

    スレッド開始 junji_yamamoto

    (@junji_yamamoto)

    @shokun0803

    ご回答ありがとうございました。
    ご指摘のとおり、Classicエディタだと動作しました。カスタム投稿でも REST API を停止させると「親選択リスト」の絞り込みができました。
    ただし、現在カスタム投稿はREST APIを利用して外部サイトにも表示させています。REST API を停止させると外部サイトに投稿が表示されなくなってしまうようなので、別の方法を調べてみます。

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