自定义帖子类型不像帖子那样工作?

时间:2021-01-20 作者:Sackadelic

好吧,这对一些人来说可能有点初级,但我在这里有点困惑,希望有一些见解。我的网站有两个部分-我的“我的”;课程“;部分,这是我的主要帖子页面,以及;“安排”;节,这是一种自定义的帖子类型,我试图让它像我的;课程“;第页,排列部分不显示作者或面包屑。

有关示例,请参见以下网站:Personal Site

问题:

在我的课程部分,我可以看到面包屑:

Correct Breadcrumbs

我的作者部分出现在一篇帖子上:Author

在“安排”部分中,如果单击某篇文章,面包屑将不起作用,作者部分也不起作用。

面包屑应为“;家庭|安排|夏季;,相反,它们看起来像:

Breadcrumbs

缺少作者部分。

Author Section

有什么想法吗?以下是我目前掌握的情况:

我的课程部分由我的index.php.

“我的安排”部分由一个名为arrangements.php.

arrangements.php 文件,我有以下循环:

$args = array(
    \'post_type\'   => \'arrangements\',
    \'post_status\' => \'publish\',
);

$new_post_loop = new WP_Query($args);
?>
<main id="primary" class="site-main">

    <?php
    if ($new_post_loop->have_posts()) :

        while ($new_post_loop->have_posts()) :

            $new_post_loop->the_post();

            get_template_part(\'template-parts/content\', \'blog\');

        endwhile;

        the_posts_navigation();

    else :

        get_template_part(\'template-parts/content\', \'none\');

    endif;

    wp_reset_postdata();

    ?>

1 个回复
最合适的回答,由SO网友:nightowl 整理而成

当您声明您的;“安排”;自定义帖子类型,请确保将“author”和“breadcrumbs”作为参数添加到;“支架”;大堆例如,它可能看起来像:

        $supports = array(
            \'title\',
            \'author\',
            \'breadcrumbs\',
            \'editor\',
            \'excerpt\',
            \'thumbnail\',
            \'comments\',
            \'custom-fields\',
            \'revisions\',
        );


        $labels = array(
            \'name\'                  => \'Arrangements\',
            \'singular_name\'         => \'Arrangement\',
            \'menu_name\'             => \'Arrangements admin menu\'),
            \'name_admin_bar\'        => \'Arrangements add new on admin bar\',
            \'add_new\'               => \'Add New Arrangement\',
            \'add_new_item\'          => \'Add New Arrangement\',
            \'new_item\'              => \'Add New Arrangement\',
            \'edit_item\'             => \'Edit Arrangement\',
            \'view_item\'             => \'View Arrangement\',
            \'all_items\'             => \'All Arrangements\',
            \'search_items\'          => \'Search Arrangements\',
            \'parent_item_colon\'     => \'Parent Arrangement:\',
            \'not_found\'             => \'No Arrangement Found\',
            \'not_found_in_trash\'    => \'No Arrangements found in trash\',
            \'filter_items_list\'     => \'Filter Arrangements\',
            \'items_list_navigation\' => \'Arrangements list navigation\',
            \'items_list\'            => \'Arrangements list\',
        );      

        $args = array(
            \'labels\'          => $labels,
            \'supports\'        => $supports,
            \'public\'          => true,
            \'capability_type\' => \'post\',
            \'rewrite\'         => array( \'slug\' => \'arrangements\', \'with_front\' => false ),
            \'menu_position\'   => 2,// or whatever
            \'menu_icon\'       => ( version_compare( $GLOBALS[\'wp_version\'], \'3.8\', \'>=\' ) ) ? \'dashicons-admin-generic\' : false ,// or whatever
            \'has_archive\'     => true,
        );

        register_post_type( \'arrangement\', $args );
这应该可以解决作者部分的显示问题。希望它也能解决面包屑问题。如果没有,那么正如另一位用户所建议的,Yoast面包屑可能会涉及额外的复杂性。

参考号:https://developer.wordpress.org/plugins/post-types/registering-custom-post-types/

相关推荐