首页 > 解决方案 > 为默认的帖子格式定义页面布局(旁白)

问题描述

single-aside.php 已定义,但我的帖子仍使用 single.php 具有备用格式。

嗨,我在我的一些帖子中使用了 post-formats(aside) 并在过去使用 single.php 来设置它们的样式,尽管定义了一个新的 post-type ,问题是现在我想使用与我的其他帖子不同的另一个页面布局和页面仅用于此类型,但是当我创建 single-aside.php 时 wordpress 不使用此页面,并且我冲掉了我的永久链接,这不是问题。您是否认为单页可以定义为默认的帖子格式,例如搁置、视频、报价和...?任何想法?

标签: wordpresscustom-wordpress-pages

解决方案


根据文档,您可以在https://codex.wordpress.org/Post_Formats下使用格式has_post_format()查看更多信息。

由于帖子格式不是自定义帖子类型,您需要将其添加到single.php

if ( has_post_format( 'aside' )) {
  //Your custom code for aside goes here
}

或者,如果您想使用不同的 php 文件,您可以创建自定义帖子类型并支持帖子格式。

注册支持:

add_action( 'init', 'aside_post_type' );
function aside_post_type() {
    register_post_type( 'aside',
      array(
        'labels' => array( 'name' => __( 'Aside' ) ),
        'public' => true,
        'supports' => array('title', 'editor', 'post-formats') //this will give support for post formats
    )
  );
} 

然后根据需要添加single-aside.php到您的主题并设置此自定义帖子类型的样式。


推荐阅读