我正在制作一个包含所有成员的网页。因此,到目前为止,我使用以下代码创建了一个自定义帖子类型:
function midas_team_post() {
register_post_type( \'midas-team\',
array(
\'labels\' => array(
\'name\' => \'تیم میداس\',
\'singular_name\' => \'تیم میداس\',
\'add_new\' => \'افزودن ورزشکار\',
\'add_new_item\' => \'افزودن ورزشکار\',
\'edit_item\' => \'ویرایش ورزشکار\',
),
\'rewrite\' => array ( \'slug\' => __( \'members\' ) ) ,
\'public\' => true,
\'has_archive\' => false,
\'show_ui\' => true,
\'menu_icon\' => \'dashicons-groups\',
\'supports\' => array( \'title\', \'thumbnail\' )
)
);
}
add_action( \'init\', \'midas_team_post\' );
我已经为它创建了一个模板文件,称为single midas team。php和其中的所有帖子都有如下URL:
http://localhost/members/{posts}
.
因此,我想创建此自定义帖子类型下的选项页(让我们称之为all members),我试图找出如何为“all members”选项页创建不同的模板文件,URL如下所示:http://localhost/members/all/
我使用此代码为自定义帖子类型添加选项页:
if( function_exists(\'acf_add_options_page\') ) {
acf_add_options_sub_page(array(
\'page_title\' => \'تمام اعضا\',
\'menu_title\' => \'تمام اعضا\',
\'parent_slug\' => \'edit.php?post_type=midas-team\',
\'menu_slug\' => \'all\',
));
}
*我也在使用ACF Pro。
最合适的回答,由SO网友:EBennett 整理而成
为了解决这一问题,实现这一目标的方法很少。
选项一,单独使用CPT。
当您创建自定义帖子类型时,它可以具有存档页面。如果模板中定义了标准WP循环,则WP生成的此归档页面会自动拉入帖子。(参见this image 以了解主题中的模板继承权是如何工作的)。
例如:
1) 在此处创建一个名为archive cpt name的新PHP文件。php
2) 将所有HTML、CSS等放在该文件中显示。
3) 然后导航到http://localhost/members/
查看生效的新模板
您可以编写代码来访问WP查询中的CPT,并自定义它的显示方式。看一下找到的法典here 以了解如何实现自定义循环。(注意:必须在存档模板上创建自定义循环才能正常工作)。归档模板的工作原理与页面模板类似,因为它们都需要WP循环才能运行。
选项二使用ACF插件创建选项页。
ACF选项页未绑定到自定义帖子类型中。它们被设计为一种在WP后端存储自定义字段的简单方法。通过将选项字符串传递到函数中,可以轻松访问它们。E、 g级the_sub_field(\'field_name\', \'options\');
例如:
1) 使用以下内容创建新的选项页:
if( function_exists(\'acf_add_options_page\') ) {
acf_add_options_page(array(
\'page_title\' => \'Theme General Settings\',
\'menu_title\' => \'Theme Settings\',
\'menu_slug\' => \'theme-general-settings\',
\'capability\' => \'edit_posts\',
\'redirect\' => false
));
}
2)通过在WP的自定义字段区域中创建自定义字段,将其添加到选项页面。
3) 将新字段分配到“选项”页面,以便它们显示在WP后端中。
4) 使用获取页面模板上的数据the_field(\'field_name\', \'options\');
一个简单的设置将包括一个repeater字段,以及用于存储成员信息的子字段。
尝试查看可以找到的ACF文档here 为了解决如何设置此项。
希望这能帮助您找到一种正确设置这些内容的方法。