对自定义邮件类型感到困惑

时间:2013-11-11 作者:user31344

我对自定义帖子类型有点陌生,也许这不是我想要实现的目标的正确解决方案。

我正在努力实现的目标:

用户“添加新属性”。这将有选项添加图像和15个自定义信息字段我尝试过使用高级自定义字段,对于一个页面来说效果很好,但不可重复。

我使用自定义帖子类型将属性添加到左侧的管理区域,但不确定如何将其添加到一个页面。

以下是我目前掌握的情况:

function create_post_type() {  
    register_post_type( \'my_properties\',  
        array(  
            \'labels\' => array(  
                \'name\' => __( \'Commercial Properties\' ),  
                \'singular_name\' => __( \'My Property\' )  
            ),  
        \'public\' => true,  
        \'menu_position\' => 5,  
        \'rewrite\' => array(\'slug\' => \'properties\')  
        )  
    );  
}  

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

function property_taxonomy() {  
   register_taxonomy(  
    \'properties\',  
    \'my_properties\',  
    array(  
        \'hierarchical\' => true,  
        \'label\' => \'Category\',  
        \'query_var\' => true,  
        \'rewrite\' => array(\'slug\' => \'MyProperties\')  
    )  
);  
}  

add_action( \'init\', \'property_taxonomy\' ); 
我在自定义帖子类型上显示了自定义字段,但不确定如何在一个页面上显示它们?

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

您所描述的是定制帖子类型的典型用例。当你register your post type, 设置has_archive 参数到true WordPress将生成一个自定义帖子类型的归档页面,该页面将是您所有属性帖子的列表。

通常,显示的属性帖子数将使用您的管理设置Blog pages show at most, 位于以下位置Settings > Reading, 但您可以通过pre_get_posts 措施:

function property_posts_per_page( $query ) {
    if ( is_admin() || ! $query->is_main_query() )
        return;

    if ( $query->is_post_type_archive( \'property\' ) ) {
        $query->set( \'posts_per_page\', -1 );
    }
}
add_action( \'pre_get_posts\', \'property_posts_per_page\' );

SO网友:Grant Palin

如果您的内容类型具有一组独特的字段(本例中为属性),那么您正在查看自定义内容类型。ACF虽然对向现有内容类型添加字段很有用,但它本身并不定义自定义类型。

对于创建自定义类型,我发现从插件开始很有用;我的偏好是Pods. 一旦激活,这有助于创建自定义类型并定义适用于所述类型的字段。反过来,您将能够创建新的属性实例,所有这些实例都具有与您定义的相同的字段集,但每个字段都有自己的数据。

然而,这就是类型定义和创建过程。在前端显示内容类型字段需要一些编码。也就是说,以上段落将帮助您开始。

结束

相关推荐