我已经设置了一个自定义文章类型和自定义分类。然后我将分类列表显示为一组链接,这样如果有人点击该链接,它应该会显示该分类下的所有文章。目前这不起作用。它一直带我到404页面,并显示“这有点尴尬,不是吗?”消息。
代码如下:
函数.PHP
add_action( 'init', 'build_taxonomies', 0 );
function build_taxonomies() {
register_taxonomy( 'companies', 'companies', array( 'hierarchical' => true, 'label' => 'Company Categories', 'query_var' => true, 'rewrite' => true ) );
}
add_action('init', 'register_mypost_type');
function register_mypost_type() {
register_post_type('companies',array(
'labels' => array(
'name' => 'Companies',
'singular_name' => 'Company',
'add_new' => 'Add New Company',
'add_new_item' => 'Add New Company',
'edit_item' => 'Edit Company',
'new_item' => 'Add New Company',
'view_item' => 'View Company',
'search_items' => 'Search Companies',
'not_found' => 'No companies found',
'not_found_in_trash' => 'No companies found in trash'
),
'public' => true,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt'),
'capability_type' => 'post',
'rewrite' => array('slug' => 'companies'),
'taxonomies' => array('category'),
'menu_position' => 7,
'has_archive' => true,
'hierarchical' => false
));
}
字符串
然后在另一个名为'page-company.php'的页面上,我使用以下代码将分类列表输出为链接:
<?php
$args = array( 'taxonomy' => 'companies' );
wp_list_categories( $args );
?>
型
当我将鼠标悬停在其中一个链接上时,URL显示为:
'http://localhost:81/?companies=graphic-design'
型
平面设计是我添加到我的自定义分类的类别之一。
但是点击这个链接总是会把我带到404页面。
我已经建立了一个名为archive-companies.php的档案页面,我认为所有这些都可以做到。
任何人可以提供的任何帮助都将不胜感激。
先谢了。
4条答案
按热度按时间fiei3ece1#
OMG OMG OMG.在阅读了关于如何解决这个问题的文章后,使用重写规则和使用永久链接重写代码,你的解决方案是唯一一个完美的解决方案!我唯一需要应用的更改是自定义分类声明:
此代码
字符串
此代码
型
就是这样,工作得很有魅力
jbose2ul2#
注意:
在我重写之前,我测试了你的代码,也得到了404。
1)我重写了你的自定义文章类型,并使用了你的自定义公司类别。
**2)**然后我从默认值循环到
/%postname%/
,它工作了。Functions.php
个这里是自定义post类型:
字符串
您的自定义分类
型
azpvetkf3#
首先在主题的根目录下创建
taxonomy-companies.php
模板。这个模板将负责显示你的分类术语文章。然后在该模板上,您需要使用
get_queried_object()
来获取所有分类详细信息。例如;
字符串
它将返回
型
然后像下面这样查询帖子。
型
i2loujxw4#
在你的WP管理中,转到设置和永久链接。不要改变任何东西,只要点击保存更改,自定义分类页面就会工作。