自定义帖子类型选项页面模板

时间:2018-04-11 作者:arata

我正在制作一个包含所有成员的网页。因此,到目前为止,我使用以下代码创建了一个自定义帖子类型:

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。

1 个回复
最合适的回答,由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 为了解决如何设置此项。

希望这能帮助您找到一种正确设置这些内容的方法。

结束
自定义帖子类型选项页面模板 - 小码农CODE - 行之有效找到问题解决它

自定义帖子类型选项页面模板

时间:2018-04-11 作者:arata

我正在制作一个包含所有成员的网页。因此,到目前为止,我使用以下代码创建了一个自定义帖子类型:

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。

1 个回复
最合适的回答,由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 为了解决如何设置此项。

希望这能帮助您找到一种正确设置这些内容的方法。

相关推荐

Use of Templates in a Plugin

我正在创建一个插件。为此,我编写了自己的模板。现在我想在我的插件目录中创建模板文件。但这并不管用。由于我使用了插件目录,wordpress doesent知道我的模板是wp templates。让WP知道这些文件是wordpress模板的最佳方式是什么?感谢您的回答:)