編集
あるページのコンテンツを別のページに取得するには、次の関数を使用します。
function show_post($path){
$post = get_page_by_path($path);
$content = apply_filters('the_content', $post->post_content);
echo $content;
}
template-our_company.php
次に、関数を呼び出す「当社」ページ ( など) のテンプレートを作成します ( など<?php show_post('careers'); /* Shows the content of the "Careers" page using the slug. */ ?>
)。
したがって、テンプレート ファイルには次のようなものが含まれている必要があります。
<?php
show_post('careers');
show_post('jobs');
show_post('team');
?>
2 番目の質問については、次のように template-our_company.php ファイルを調整する必要があります。
<?php
<div id="careers"></div>
show_post('careers');
<div id="jobs"></div>
show_post('jobs');
<div id="team"></div>
show_post('team');
?>
次に、メニュー ダッシュボードで、ナビゲーション リンクを「/our-company/#careers」などに調整します。
編集2
別のテンプレートで指定されたテンプレートを使用してページのコンテンツを取得するには、次の手順を実行できます。
/*
Template Name: Careers
*/
...
/*
Template Name: Jobs
*/
次に、「親」テンプレートで、上記の指定されたテンプレートが
テストされていないコードを選択した投稿をクエリできます
$args = array(
'meta_query' => array(
'relation' => 'OR',
array(
'key' => '_wp_page_template',
'value' => 'careers.php',
'compare' => '='
),
array(
'key' => '_wp_page_template',
'value' => 'jobs.php',
'compare' => '='
)
)
);
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post );
the_content();
// or add anything else
endforeach;
wp_reset_postdata();