我已经为我的项目创建了一个自定义的页面类型(使用post状态),这样我就可以在阅读设置中选择页面,就像您为帖子页面和主页所做的那样。这一切都很好,我已指定ACF字段仅用于此页面类型。
但是,我想使用此页面,这样就可以添加任意数量的内容,但同时也可以显示此页面所代表的自定义帖子类型的存档列表/循环(将此页面视为帖子页面,但不是自定义帖子类型),但如何以WordPress获取index.php
或home.php
或front-page.php
模板?我首先从archive-people.php
但是,我在页面上保存的内容与存档中的内容之间存在着断开连接。
以下是我创建和分配状态的方式:
add_filter( \'display_post_states\', function ( $post_states, $post ) {
if ( intval( get_option( \'people\' ) ) === $post->ID) {
$post_states[\'people\'] = __(\'People\', \'people\');
}
return $post_states;
}, 10, 2 );
add_action( \'admin_init\', function () {
$id = \'people\';
add_settings_field(
$id,
\'People Page:\',
function( $args ) {
$id = \'people\';
wp_dropdown_pages( array(
\'name\' => \'People\',
\'show_option_none\' => \'— Select —\',
\'option_none_value\' => \'0\',
\'selected\' => get_option( $id ),
) );
},
\'reading\',
\'default\',
array(
\'label_for\' => \'field-\' . $id,
\'class\' => \'row-\' . $id,
)
);
} );
add_filter( \'whitelist_options\', function ( $options ) {
$options[\'reading\'][] = \'people\';
return $options;
} );
因此,我想最终得到一个类似于wordpress如何知道page\\u for\\u posts在admin中是X页,或者woocommerce是商店/帐户页,例如-虽然我已经对此进行了设置,但如何在我的主题中将新状态分配给php页?为了澄清,我没有使用页面属性驱动的模板。
目前,这是一个解决方案,在我的页面中有效,但感觉不干净。php:
@php $people_page = (int) get_option(\'people\'); @endphp
@if( $people_page === $post->ID )
@section(\'content\')
@while(have_posts()) @php the_post() @endphp
@include(\'partials.custom-archive\')
@endwhile
@endsection
@else //do the regular page