我已经设置了自定义帖子类型和自定义分类 . 然后我将分类列表显示为一组链接,这样如果有人点击该链接,它应该显示该分类下的所有帖子 . 目前这不起作用 . 它一直把我带到404页面,“这有点令人尴尬不是吗?”信息 .
代码如下:
FUNCTIONS.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页面 .
我已经 Build 了一个名为archive-companies.php的档案页面,我认为所有这些都可以解决问题 .
任何人都可以提供的任何帮助将不胜感激 .
提前致谢 .
3 回答
OMG OMG OMG ...经过几天阅读有关如何解决问题的帖子,使用重写规则和ussing永久链接重写代码,您的解决方案是唯一一个完美的解决方案!我需要应用的唯一变化是自定义分类声明:
这段代码
这个代码
就是这样 . 像魅力一样工作!
注意:
在我重写之前,我测试了你的代码并得到了404 .
1) 我重新为您写了自定义帖子类型和 used your custom companies 类别 .
2) 然后我从默认循环到
/%postname%/
并且它可以工作 .Functions.php
在这里你去自定义帖子类型:
您的自定义类别
首先在主题的根目录中创建
taxonomy-companies.php
模板 . 此模板将负责显示您的分类术语帖子 .然后在该模板上,您需要使用
get_queried_object()
来获取所有分类法详细信息 .例如;
它会回来
然后查询下面的帖子 .