如何列出自定义帖子类型?

时间:2011-05-21 作者:user5486

下面是我想做的:

a) 为名为“我的东西”的菜单项创建自定义帖子类型和写入面板

b) “我的东西”的行为就像一个类别——但内容不会出现在主博客中。它只会出现在“我的东西”下

那么,我需要做什么?创建另一个循环?如果是这样的话,我会把第二个循环放在哪里,我会如何创建到“我的东西”的链接?

或者我应该将“我的东西”添加到索引中的循环中。php,创建一个“我的东西”类别(或分类法),并以某种方式过滤“我的东西”,使其仅在存在特定字段时显示?

对于这个复杂的问题,我深表歉意,但我觉得这一切都很令人困惑。本主题中零散的教程都没有清楚地解释如何在页面或循环之外的任何位置显示自定义帖子类型的内容。

如果有任何帮助,我将不胜感激。

谢谢

2 个回复
SO网友:fuxia

a) 为名为“我的东西”的菜单项创建自定义帖子类型和写入面板

易于理解的这个Codex 应该告诉你你需要知道的一切。

但这里有另一个例子:

add_action( \'init\', \'wpse_17863\' );

/**
 * Creates a visible post type.
 *
 * Don’t forget to visit wp-admin/options-permalink.php once to refresh 
 * the rewrite rules!
 *
 * @return void
 */
function wpse_17863()
{
    $labels = array (
        // Usually plural.
        \'name\'               => \'Stuffies\'
    ,   \'singular_name\'      => \'Stuffy\'
    ,   \'add_new\'            => \'New Stuff\'
    ,   \'add_new_item\'       => \'Add New Stuff\'
    ,   \'edit_item\'          => \'Edit Stuffy\'
    ,   \'new_item\'           => \'New Stuffy\'
    ,   \'view_item\'          => \'View Stuffy\'
    ,   \'search_items\'       => \'Search Stuffies\'
    ,   \'not_found\'          => \'No Stuffies found\'
    ,   \'not_found_in_trash\' => \'No Stuffies found in Trash\'
    ,   \'parent_item_colon\'  => \'Parent Stuffy:\'
    );

    register_post_type(
        \'stuffy\'
    ,   array (
            // visible
            \'public\'        => TRUE
            // Menu main name, usually plural
        ,   \'label\'         => \'Stuffies\'
            // All labels
        ,   \'labels\'        => $labels
            // Menu position
            //   5 - below Posts
            //  10 - below Media
            //  15 - below Links
            //  20 - below Pages
            //  25 - below comments
            //  60 - below first separator
            //  65 - below Plugins
            //  70 - below Users
            //  75 - below Tools
            //  80 - below Settings
            // 100 - below second separator
        ,   \'menu_position\' => 5
            // permalinks
        ,   \'rewrite\' => array ( \'slug\' => \'stuff\' )
            // Create a default archive at /stuff/
        ,   \'has_archive\'   => TRUE
            // Allow child pages.
        ,   \'hierarchical\'  => TRUE
        // Add it to custom menus
        ,   \'show_in_nav_menus\'   => TRUE
        // Components of the editor.
        ,   \'supports\' => array (
                \'editor\'
            ,   \'excerpt\' 
            ,   \'page-attributes\'
            ,   \'thumbnail\'
            ,   \'title\'
             )
        // We use the built-in taxonomies too.
        ,   \'taxonomies\'          => array ( \'category\', \'post_tag\' )
        )
    );
}
b)“我的东西”的行为就像一个类别——但内容不会出现在主博客中。它只会出现在“我的东西”下

我不明白这部分。自定义帖子类型可能use 分类法——我在示例中添加了类别和标记进行演示——但它不是分类法。您可以像处理页面一样使用严格的父子关系<如果你在问题中澄清了这一点,我可能会更新我的答案。

本主题中零散的教程都没有清楚地解释如何在页面或循环之外的任何位置显示自定义帖子类型的内容。

参数\'has_archive\'rather new. 以前的教程可能没有提到这一点
要链接到主题或插件中的新存档,请使用get_post_type_archive_link( \'stuffy\' ).

SO网友:Chris

我只是做了一些类似的事情。我的解决方案是创建一个模板php文件,然后创建一个使用该模板的页面。模板中有一个用于创建循环的WP\\U查询。

在模板文件的顶部:

<?php /* Template Name: <template name> */ ?>

在模板文件中:

$args=array(\'post_type\' => \'my_stuff\', \'posts_per_page\' => 10);
$loop = new WP_Query( $args );
while ($loop->have_posts()) : $loop->the_post();
然后我创建了一个页面,并在属性中从列表中选择了模板名称。

相关推荐

echo a tax term in loop

对于列表中的每个项目,我需要在之后在此循环中回显CPT的一个术语。感谢您的指导或帮助。原始代码来自Stackoverflow。com,因为它起作用了。 <?php $da_place = get_field(\'smart_place\'); //acf field $args = array( \'post_type\' => \'to_do_items\', \'tax_query\' => array

如何列出自定义帖子类型? - 小码农CODE - 行之有效找到问题解决它

如何列出自定义帖子类型?

时间:2011-05-21 作者:user5486

下面是我想做的:

a) 为名为“我的东西”的菜单项创建自定义帖子类型和写入面板

b) “我的东西”的行为就像一个类别——但内容不会出现在主博客中。它只会出现在“我的东西”下

那么,我需要做什么?创建另一个循环?如果是这样的话,我会把第二个循环放在哪里,我会如何创建到“我的东西”的链接?

或者我应该将“我的东西”添加到索引中的循环中。php,创建一个“我的东西”类别(或分类法),并以某种方式过滤“我的东西”,使其仅在存在特定字段时显示?

对于这个复杂的问题,我深表歉意,但我觉得这一切都很令人困惑。本主题中零散的教程都没有清楚地解释如何在页面或循环之外的任何位置显示自定义帖子类型的内容。

如果有任何帮助,我将不胜感激。

谢谢

2 个回复
SO网友:fuxia

a) 为名为“我的东西”的菜单项创建自定义帖子类型和写入面板

易于理解的这个Codex 应该告诉你你需要知道的一切。

但这里有另一个例子:

add_action( \'init\', \'wpse_17863\' );

/**
 * Creates a visible post type.
 *
 * Don’t forget to visit wp-admin/options-permalink.php once to refresh 
 * the rewrite rules!
 *
 * @return void
 */
function wpse_17863()
{
    $labels = array (
        // Usually plural.
        \'name\'               => \'Stuffies\'
    ,   \'singular_name\'      => \'Stuffy\'
    ,   \'add_new\'            => \'New Stuff\'
    ,   \'add_new_item\'       => \'Add New Stuff\'
    ,   \'edit_item\'          => \'Edit Stuffy\'
    ,   \'new_item\'           => \'New Stuffy\'
    ,   \'view_item\'          => \'View Stuffy\'
    ,   \'search_items\'       => \'Search Stuffies\'
    ,   \'not_found\'          => \'No Stuffies found\'
    ,   \'not_found_in_trash\' => \'No Stuffies found in Trash\'
    ,   \'parent_item_colon\'  => \'Parent Stuffy:\'
    );

    register_post_type(
        \'stuffy\'
    ,   array (
            // visible
            \'public\'        => TRUE
            // Menu main name, usually plural
        ,   \'label\'         => \'Stuffies\'
            // All labels
        ,   \'labels\'        => $labels
            // Menu position
            //   5 - below Posts
            //  10 - below Media
            //  15 - below Links
            //  20 - below Pages
            //  25 - below comments
            //  60 - below first separator
            //  65 - below Plugins
            //  70 - below Users
            //  75 - below Tools
            //  80 - below Settings
            // 100 - below second separator
        ,   \'menu_position\' => 5
            // permalinks
        ,   \'rewrite\' => array ( \'slug\' => \'stuff\' )
            // Create a default archive at /stuff/
        ,   \'has_archive\'   => TRUE
            // Allow child pages.
        ,   \'hierarchical\'  => TRUE
        // Add it to custom menus
        ,   \'show_in_nav_menus\'   => TRUE
        // Components of the editor.
        ,   \'supports\' => array (
                \'editor\'
            ,   \'excerpt\' 
            ,   \'page-attributes\'
            ,   \'thumbnail\'
            ,   \'title\'
             )
        // We use the built-in taxonomies too.
        ,   \'taxonomies\'          => array ( \'category\', \'post_tag\' )
        )
    );
}
b)“我的东西”的行为就像一个类别——但内容不会出现在主博客中。它只会出现在“我的东西”下

我不明白这部分。自定义帖子类型可能use 分类法——我在示例中添加了类别和标记进行演示——但它不是分类法。您可以像处理页面一样使用严格的父子关系<如果你在问题中澄清了这一点,我可能会更新我的答案。

本主题中零散的教程都没有清楚地解释如何在页面或循环之外的任何位置显示自定义帖子类型的内容。

参数\'has_archive\'rather new. 以前的教程可能没有提到这一点
要链接到主题或插件中的新存档,请使用get_post_type_archive_link( \'stuffy\' ).

SO网友:Chris

我只是做了一些类似的事情。我的解决方案是创建一个模板php文件,然后创建一个使用该模板的页面。模板中有一个用于创建循环的WP\\U查询。

在模板文件的顶部:

<?php /* Template Name: <template name> */ ?>

在模板文件中:

$args=array(\'post_type\' => \'my_stuff\', \'posts_per_page\' => 10);
$loop = new WP_Query( $args );
while ($loop->have_posts()) : $loop->the_post();
然后我创建了一个页面,并在属性中从列表中选择了模板名称。

相关推荐

Ordering terms whilst in loop

我有一个页面模板,显示所有;“发布”;在两个自定义分类中,帖子显示在一个表中$type = $_GET[\'type\']; $category = $_GET[\'category\']; args = array( \'post-type\' => \'literature\', \'posts_per_page\' => -1, \'tax_query\' => array(