首頁 >後端開發 >php教程 >请教个关于wordpress的自己的分类加载页面的问题

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

WBOY
WBOY原創
2016-06-06 20:50:56920瀏覽

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.
?>

end

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

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

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn