WordPress的 - 项自定义后类型房源的自定义分类页
我有一个分类,taxonomy.php页面,需要看起来像这样:WordPress的 - 项自定义后类型房源的自定义分类页
自定义文章类型标题(资源)
自定义分类1 (资源类型)
资源类型期限1(白皮书)
-
白皮书后1
白皮书柱2
白皮书柱3
资源类型期限2(画)
-
画张贴1
画张贴2
视频信息3
试图理解Wordpress 3.0的所有新文档,但它只是让我更加困惑,因为它似乎与2.8混合在一起。
嘿manon1165,我其实刚刚完成了这个。是一个巨大的痛苦,希望我的代码片段将帮助!
我做了一个自定义页面模板。并没有沿着
<?php $categories = get_terms('taxonomy-name', 'orderby=name&hide_empty=0'); $cats = object_to_array($categories); ?>
线的东西现在,只需print_r($cats)
,你会看到类别的阵列。
您将需要将对象转换为数组,我这样做。
function object_to_array($data)
{
if(is_array($data) || is_object($data))
{
$result = array();
foreach($data as $key => $value)
{
$result[$key] = object_to_array($value);
}
return $result;
}
return $data;
}
我做
希望帮助!
谢谢,它帮助很多,但你能告诉我如何从自定义帖子类型中获取内容。我正在使用自定义帖子类型插件,并希望使用自定义类别列表获取数据。请帮帮我。 – 2013-05-17 11:05:16
在过去几年中,我并没有真正处理WP。也许开始一个新的问题? – LostInQuery 2013-06-05 19:56:55
没有必要将对象转换为数组,您可以完美地使用对象而不会太麻烦。什么是(至少对我来说)好奇的是,你得到的东西是这样的:
Array
(
[0] => stdClass Object
(
[term_id] => 7
[name] => Magister comunicaciones aplicadas
[slug] => magister-comunicaciones-aplicadas
[term_group] => 0
[term_taxonomy_id] => 7
[taxonomy] => linea-de-estudio
[description] =>
[parent] => 0
[count] => 4
)
[1] => stdClass Object
(
[term_id] => 8
[name] => Engagement marketing
[slug] => engagement-marketing
[term_group] => 0
[term_taxonomy_id] => 8
[taxonomy] => linea-de-estudio
[description] =>
[parent] => 0
[count] => 5
)
)
它基本上,对象的数组,因此你对待他们的方式。例如,如果我想在第一个的名字:
$myterms = get_terms('taxonomy-name', 'orderby=none&hide_empty');
echo $myterms[0]->name;
如果您需要通过元素迭代,你仍然可以使用foreach();
。
foreach ($myterms as $term) { ?>
<li><a href="<?php echo $term->slug; ?>"><?php echo $term->name; ?></a></li> <?php
} ?>
这样你就可以从你的分类中发表文章。
对于自定义文章类型,你必须创建一个循环是这样的:
$args = array(
'post_type' => 'post-type-name',
'taxonomy' => 'term'
//for example
//'resources' => 'videos'
);
// assigning variables to the loop
global $wp_query;
$wp_query = new WP_Query($args);
// starting loop
while ($wp_query->have_posts()) : $wp_query->the_post();
the_title();
blabla....
endwhile;
然后您可以创建一个每个每个分类/学期:)的多个循环。你可以在第一个循环中包含第二个循环,并将变量分配给分类(资源ie)和它所拥有的术语(如果你想要变得更加花哨(不想重复自己一百次)视频)(从你的例子只有最后一个)。这个想法是,你将有一个正常的(典型的)wordpress循环,每个术语都限制为自定义后期类型和。
foreach ($myterms as $term) : ?>
<li><a href="<?php echo $term->slug; ?>"><?php echo $term->name; ?></a></li> <?php
$term_name = $term->slug;
$args = array(
'post_type' => 'post-type-name',
'taxonomy' => "$term_name"
);
// assigning variables to the loop
global $wp_query;
$wp_query = new WP_Query($args);
// starting loop posting only
while ($wp_query->have_posts()) : $wp_query->the_post();
the_title();
blabla....
endwhile;
endforeach; ?>
很明显,你可以做相反的事情太多,建立正常循环的单模板自定义类型(它的貌似只有一个),以及里面包含了所有的自定义条款。
不是很优雅,但这是我能想出来的最佳方式:P。希望有人能够理解这一点,听起来很混乱。
也许可以用一些回调函数吗?
您在上次的代码示例中有错误。你应该删除;从该行的末尾开始:'taxonomy'=>“$ term_name”; – Pascut 2014-03-13 10:29:57
更正。谢谢 :)。 – 2014-03-13 20:06:29
对不起,有点困惑 - 所以你想列出所有的自定义职位类型,按自定义税率分类? – TheDeadMedic 2010-07-29 13:54:10
我想列出自定义帖子类型的所有帖子,按自定义分类术语排序。 – manon1165 2010-08-16 21:35:19