block_core_navigation_from_block_get_post_ids()


WordPressのblock_core_navigation_from_block_get_post_ids()関数は、ナビゲーションブロックから投稿IDを取得するために使用されます。この関数は、ナビゲーションブロック内の投稿やページのIDを配列として返します。

構文

block_core_navigation_from_block_get_post_ids( array $block );
  • $block(array) — ナビゲーションブロックの配列データ。

例1: ナビゲーションブロックから投稿IDを取得

この例では、ナビゲーションブロックから投稿IDを取得し、それらを表示します。

$post_ids = block_core_navigation_from_block_get_post_ids( $block ); print_r( $post_ids );

例2: 特定のナビゲーションブロックの投稿IDを取得

特定のナビゲーションブロックの投稿IDを取得し、それらをループして表示します。

$post_ids = block_core_navigation_from_block_get_post_ids( $block ); foreach( $post_ids as $post_id ) { echo get_the_title( $post_id ); }

例3: ナビゲーションブロックの投稿IDをカスタムクエリで使用

取得した投稿IDをカスタムクエリで使用して、関連する投稿を表示します。

$post_ids = block_core_navigation_from_block_get_post_ids( $block ); $query = new WP_Query( array( 'post__in' => $post_ids ) ); while( $query->have_posts() ) { $query->the_post(); the_title(); }

例4: ナビゲーションブロックの投稿IDをフィルタリング

取得した投稿IDをフィルタリングして、特定のカテゴリーに属する投稿のみを表示します。

$post_ids = block_core_navigation_from_block_get_post_ids( $block ); $filtered_ids = array_filter( $post_ids, function( $id ) { return has_category( 'news', $id ); } ); print_r( $filtered_ids );

例5: ナビゲーションブロックの投稿IDをメタクエリで使用

取得した投稿IDをメタクエリで使用して、特定のメタデータを持つ投稿を表示します。

$post_ids = block_core_navigation_from_block_get_post_ids( $block ); $query = new WP_Query( array( 'post__in' => $post_ids, 'meta_key' => 'featured', 'meta_value' => '1' ) ); while( $query->have_posts() ) { $query->the_post(); the_title(); }

例6: ナビゲーションブロックの投稿IDをカスタムフィールドでソート

取得した投稿IDをカスタムフィールドの値でソートして表示します。

$post_ids = block_core_navigation_from_block_get_post_ids( $block ); usort( $post_ids, function( $a, $b ) { return get_post_meta( $a, 'custom_field', true ) <=> get_post_meta( $b, 'custom_field', true ); } ); print_r( $post_ids );

例7: ナビゲーションブロックの投稿IDをAJAXで取得

AJAXを使用してナビゲーションブロックの投稿IDを取得し、フロントエンドで表示します。

add_action( 'wp_ajax_get_nav_post_ids', 'get_nav_post_ids' ); function get_nav_post_ids() { $block = json_decode( stripslashes( $_POST['block'] ), true ); $post_ids = block_core_navigation_from_block_get_post_ids( $block ); wp_send_json( $post_ids ); }

注意点

  • この関数は、ナビゲーションブロックのデータを正しく解析するために、ブロックエディタのコンテキストで使用する必要があります。
  • 取得した投稿IDが存在しない場合や、ブロックがナビゲーションブロックでない場合、空の配列が返されることがあります。

関連機能: