block_core_navigation_get_post_ids()


WordPressのblock_core_navigation_get_post_ids()関数は、ナビゲーションブロックで使用される投稿IDを取得するために使用されます。この関数は、指定されたナビゲーションメニューに関連する投稿IDのリストを返します。

構文

block_core_navigation_get_post_ids( array $args );

引数の説明:

  • $args(array) — ナビゲーションメニューの設定を含む配列。以下のキーを持つことができます:
    • 'menu' — メニューオブジェクトまたはメニューID。
    • 'post_status' — 投稿のステータス(デフォルトは’publish’)。

例1: 基本的な使用例

この例では、指定されたメニューに関連する投稿IDを取得します。

$post_ids = block_core_navigation_get_post_ids( array( 'menu' => 2 ) );

例2: カスタム投稿ステータスの使用

この例では、’draft’ステータスの投稿IDを取得します。

$post_ids = block_core_navigation_get_post_ids( array( 'menu' => 2, 'post_status' => 'draft' ) );

例3: メニューオブジェクトの使用

メニューオブジェクトを直接渡して投稿IDを取得します。

$menu = wp_get_nav_menu_object( 'primary-menu' );
$post_ids = block_core_navigation_get_post_ids( array( 'menu' => $menu ) );

例4: 複数のメニューを処理

複数のメニューを処理するために、メニューIDの配列を渡します。

$post_ids = block_core_navigation_get_post_ids( array( 'menu' => array( 2, 3 ) ) );

例5: カスタムクエリの追加

カスタムクエリパラメータを追加して投稿IDを取得します。

$post_ids = block_core_navigation_get_post_ids( array( 'menu' => 2, 'post__in' => array( 10, 20 ) ) );

例6: メニューの深さを制限

メニューの深さを制限して投稿IDを取得します。

$post_ids = block_core_navigation_get_post_ids( array( 'menu' => 2, 'depth' => 2 ) );

例7: 特定の投稿タイプをフィルタリング

特定の投稿タイプのみを取得するためにフィルタリングを行います。

$post_ids = block_core_navigation_get_post_ids( array( 'menu' => 2, 'post_type' => 'page' ) );

注意点

  • この関数は、ナビゲーションブロックの内部で使用されることを想定しています。
  • メニューが存在しない場合、空の配列が返されます。
  • カスタムクエリを使用する場合、パフォーマンスに影響を与える可能性があります。

関連機能: