Home > Backend Development > PHP Tutorial > 请教个关于wordpress的自己的分类加载页面的问题

请教个关于wordpress的自己的分类加载页面的问题

WBOY
Release: 2016-06-06 20:50:56
Original
913 people have browsed it

wordpress通过数据库表wp_term_taxonomy的category(taxonomy其实保存category和tab)里的term(term里面其实就是分类的名称和自定义地址)可以加载到相关的页面,相关地址就是xxx/category/自定义地址或者id(url没重写的情况下).若我有个自定义的taxonomy,我应该如何重写wordpress的相关代码或者方法,才会让wordpress知道我应该要把文章加载到那个页面.category的默认在index.php中打开.

回复内容:

wordpress通过数据库表wp_term_taxonomy的category(taxonomy其实保存category和tab)里的term(term里面其实就是分类的名称和自定义地址)可以加载到相关的页面,相关地址就是xxx/category/自定义地址或者id(url没重写的情况下).若我有个自定义的taxonomy,我应该如何重写wordpress的相关代码或者方法,才会让wordpress知道我应该要把文章加载到那个页面.category的默认在index.php中打开.

就是有某些主题有portfolio的.也定义了portfolio自己的分类.但是不能按照wordpress默认的category的方式打开portfolio自定义的分类.会404的,因为wordpress默认的category打开页面是在index.php
---------------
首先,我得纠正你对wp主题运行流程的理解.
Template_Hierarchy
自己看下,并非"wordpress默认的category打开页面是在index.php".

千万不要对自己不了解的东西,妄下结论.

第二,针对custom taxonomy 404 问题,
我建议你,先重新保存下permalink structure.

---------------------------------

根据Custom Taxonomies display, 我建议你在主题目录下,建立一个文件,taxonomy-skill-type.php 专门现实归类于skill-type的portfolio.
主要查询代码如下, 自己看着修改. 其实,主要是那个tax_query啦, 呵呵

<?php $args = array(
	'post_type' => 'portfolio',
	'posts_per_page' => '-1',
	$tax_query = array(
					'tax_query'=> array(
					    array(
						'taxonomy' => 'skill-type',//这个名字没错吧?
					     )
					)

				);
);
$query = new WP_Query($args);
global $wp_query;
$wp_query = $query;
while ( have_posts() ) : 
         the_post();
         //blah blah.
endwhile.
?>
Copy after login

end

额,再看几遍你的代码,我好像没怎么修改啊.我可能醉了...

还不是很完美,显示skill-type的terms可以这样.

$tax_query = array(
        'taxonomy' => 'skill-type',//这个名字没错吧?
        'field' => 'slug',
        'terms' => get_query_var('term')
)
Copy after login

老实说,以上代码全部都没测试过.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template