如何在页面模板中创建自定义帖子类型?

时间:2016-05-17 作者:Zkk

在我的网站中,我创建了custom post type 名为:“图片”

add_action( \'init\', \'create_post_type\' );
function create_post_type() {
  register_post_type( \'Pictures\',
    array(
      \'labels\' => array(
        \'name\' => __( \'Pictures\' ),
        \'singular_name\' => __( \'Pictures\' )
      ),
      \'public\' => true,
      \'has_archive\' => true,
    )
  );
}
在我的网站中,我想有两个页面:索引和图片

->索引:它只有文本->图片的帖子:它只有图片的帖子

在仪表板->帖子中。我做的所有帖子都直接进入索引。

我想知道如何访问仪表板->图片->添加新内容。我写的每一篇文章都会被放在“图片”页面。

我怎样才能做到这一点?

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

您需要添加:

\'supports\'  =>  array(\'title\', \'editor\',\'page-attributes\',\'thumbnail\')
在“singular name”(单数名称)=>“pictures”(图片)之后将其添加到数组中。

缩略图会将“特色图像”选项添加到您的帖子类型中。

您可以访问帖子类型存档:您的站点/存档图片,这将使用您的主题存档。php文件(如果存在)。

或者,您可以创建一个带有自定义循环的自定义帖子类型存档模板:存档图片。php。

或者,您可以创建自定义页面模板并将其应用于页面。

帖子类型存档和自定义页面模板都将包含类似的代码:自定义帖子类型循环如下:

$args = array( \'post_type\' => \'pictures\', \'posts_per_page\' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
  the_title();
  echo \'<div class="entry-content">\';
  the_content();
  the_post_thumbnail("medium");
  echo \'</div>\';
endwhile;

SO网友:v3leno

您好,这可能会有所帮助,我使用这种查询来检索cpt查询并显示内容:

   <?php // querying Database
        $args = array( \'post_type\' => \'Pictures\', \'posts_per_page\' => 6);
        $the_query = new WP_Query( $args ); 
    ?>
    <?php // creating the loog
     if ( $the_query->have_posts() ) : while( $the_query->have_posts() ) : $the_query->the_post();
    ?>

- output goes here, like the_content() or what you need -  

  <?php wp_reset_postdata(); ?>
    <?php endwhile; ?>
    <?php else : ?>
    <p><?php _e( \'Sorry, no posts matched your criteria.\' );  ?></p>
    <?php endif; ?>
更多。。。您的CPT注册名称必须全部小写,并且在插件文件的末尾,您必须添加类似的内容才能查询您的CPT

// Querying custom post type
add_action( \'pre_get_posts\', \'add_pictures_post_types_to_query\' );

function add_pictures_post_types_to_query( $query ) {
    if ( is_home() && $query->is_main_query() )
        $query->set( \'post_type\', array( \'post\', \'pictures\' ) );
    return $query;
}

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果