我已经尝试制作我的第一个wordpress主题,但我的博客单页有些麻烦。 [我的博客页面] [1]
这是我创建的一个名为blog_post的自定义帖子类型。 奇怪的是,这似乎只发生在我的网站ex的子层上。 {url} / blog_post /这里的页面看起来就像我的索引页面。
但是在我的工作页面上,我的单个页面没有任何问题,而且他们的固定链接没有{url} / work_post / attach。 [我的工作页面] [2]
我使用functions.php文件
创建了单页的特殊样式define(SINGLE_PATH, TEMPLATEPATH . '/single');
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
/**
* Single template function which will choose our template
*/
function my_single_template($single) {
global $wp_query, $post;
/**
* Checks for single template by category
* Check by category slug and ID
*/
foreach((array)get_the_category() as $cat) :
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
/* <-------- if no single-cat page is found the return the single.php file
*/
elseif(file_exists(SINGLE_PATH . '/single.php'))
return SINGLE_PATH . '/single.php';
endforeach;
}
我希望有人能理解我的混乱:D
答案 0 :(得分:0)
我自己找到了答案,只需删除functions.php的附加内容,然后为我的工作页面制作自定义帖子。
然后我为我想要的每个slu make制作单{slug} .php页面:D 大家都很开心
答案 1 :(得分:0)
您需要在自定义帖子类型中添加“ public => true”。同时创建单个{custom-post-type} .php文件
代码:
$args = array(
'labels' => $labels,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'heirachical' => false,
'menu_position' => 26,
'has_archive' => true,
'menu_icon' => 'dashicons-products',
'supports' => array( 'title', 'editor','thumbnail' ),
'query_var' => true,
'capability_type' => 'post',
'rewrite' => true,
);
例如:假设您已经创建了自定义帖子类型,例如“ product”,那么您需要在主题目录中创建single-product.php文件。
注意:保存永久链接设置。
答案 2 :(得分:0)
对我来说,它在注册post_type的参数中添加了'publicly_queryable' => true
。我最初必须将设置设置为false
。