我正在使用自定义帖子类型(CPT)my-project
存储在自定义表MY\\u项目中。
以下是CPT注册代码:
$labels = array(
\'name\' => __( \'Projects \' ),
\'singular_name\' => __( \'Project\' ),
// other labels
);
$args = array(
\'labels\' => $labels,
\'description\' => __( \'Projects Management\' ),
\'public\' => true,
\'show_ui\' => true,
\'show_in_nav_menus\' => true,
\'show_in_admin_bar\' => true,
\'menu_position\' => 100,
\'capability_type\' => \'post\',
\'hierarchical\' => false,
\'has_archive\' => true,
\'supports\' => false,
\'publicly_queryable\' => true,
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'project\', \'with_front\' => false ),
);
register_post_type( \'my-project\', $args );
正如你所看到的,我没有使用Wordpress中的任何字段(
\'supports\' => false,
) 当我使用自己的字段并将其插入自定义表时;但我设定了
post-name
和
post-title
在里面
wp_posts
创建新CPT时的表
my-project
.
我想使用基本模板twentyeleven显示我的所有字段,我发现我必须在themes/twentyeleven/functions.php
:
add_filter( \'pre_get_posts\', \'my_get_posts\' );
function my_get_posts( $query ) {
if ( is_home() )
$query->set( \'post_type\', array( \'my-project\' ) );
return $query;
}
=>第一个问题:是否有其他方法注册我的CPT以显示它/这是写这篇文章的最佳地方?
然后我在中创建了2个文件themes/twentyeleven/
:
1.archive-my-project.php
(应显示my-project
)
2.single-my-project.php
(应显示一个my-project
)
=>第二个问题,使用管理中的“修改前预览”按钮将显示我的所有CPT列表my-project
(仅标题)。它应该只有一个项目,wordpress应该使用single-my-project.php
文件是否正确?URL正常:http://localhost/wordpress/project/project1/
. 单击其中一个标题将显示“未找到任何内容”页面。。。我试图编辑single-my-project.php
显示“测试”字符串的内容,但没有更改。。。
=>第三个问题:slug(我设置为project
) 只在URL中使用,而不在其他地方使用,对吗?与文件名无关single-my-project.php
(好的)/single-project.php
(不正常)?
请注意,我读过Template_Hierarchy
谢谢你的帮助,
泽维尔