Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WordPress>从自定义帖子类型获取自定义分类 已创建自定义发布类型='products' 使用注册了不同于类别的自定义分类法类别_Wordpress_Post_Types_Filter - Fatal编程技术网

WordPress>从自定义帖子类型获取自定义分类 已创建自定义发布类型='products' 使用注册了不同于类别的自定义分类法类别

WordPress>从自定义帖子类型获取自定义分类 已创建自定义发布类型='products' 使用注册了不同于类别的自定义分类法类别,wordpress,post,types,filter,Wordpress,Post,Types,Filter,一,。如何显示所有自定义帖子类型,并在上面设置一个过滤器,其中的类别可用作过滤器选项卡 2.如何通过自定义分类“类别”和显示链接在自定义模板中循环 HTML结构 自定义帖子类型URL: /wp admin/edit tags.php?分类法=类别和发布类型=产品 PHP 您可以这样做以获取自定义分类法的所有术语: $term返回具有以下结构的数组: array( [0] => WP_Term Object ( [term_id] => [name] =>

一,。如何显示所有自定义帖子类型,并在上面设置一个过滤器,其中的类别可用作过滤器选项卡

2.如何通过自定义分类“类别”和显示链接在自定义模板中循环

HTML结构

自定义帖子类型URL: /wp admin/edit tags.php?分类法=类别和发布类型=产品

PHP


您可以这样做以获取自定义分类法的所有术语:

$term返回具有以下结构的数组:

array(
[0] => WP_Term Object
(
    [term_id] =>
    [name] =>
    [slug] =>
    [term_group] =>
    [term_taxonomy_id] =>
    [taxonomy] =>
    [description] =>
    [parent] =>
    [count] =>
    [filter] =>
)
$term_链接将为您提供分类术语归档的永久链接

关于如何实现过滤器选项卡的其他问题: 查看此插件:

要查找与给定帖子类型关联的分类,请使用WordPress函数,如下所示:

$taxonomies=get_object_taxonomies'post','objects'; $taxonomies将是WP_分类对象的数组。省略第二个参数以获取post_类型slug的数组

要按自定义分类法进行查询,请创建一个新的WP_查询,如下所示:

$args=[ “每页帖子数”=>-1, “税务查询”=>[ [ “分类法”=>“类别”, '字段'=>'段塞', “术语”=>[“您的术语”], ], ], ]; $filterQuery=新的WP\U查询$args; 虽然可以使用register\u post\u type在post\u类型上声明分类法关联,但该关联是可选的,而且非常弱。在内部,WordPress采用另一种方式,将post_类型分配给分类法


每个分类法都有一个object_type属性,它是它所知道的post_类型的slug数组。深入研究register\u post\u type源代码,我们看到它为taxonomics参数属性中的每个项调用register\u taxonomy\u for\u object\u type,然后简单地向分类法的object\u type数组添加一个slug。这是唯一一次使用post_类型的分类属性。我更喜欢在注册分类法时声明post_类型,因为它更接近WordPress的工作方式,过去对这种关联的误解给我带来了很多痛苦。

我尝试过这种方法,但它仍然没有给我任何东西,而且您还没有在任何地方指定自定义post类型。您不需要post类型来获取分类法的术语,但如果您的WP版本早于4.5.0,您需要做一个小的更改:$terms=get_terms'categories',array'hide_empty'=>false;正是我想要的
$terms = get_terms( array(
    'taxonomy' => 'categories',
    'hide_empty' => false,
) );

foreach ( $terms as $term ) {
    $term_link = get_term_link( $term );
}
array(
[0] => WP_Term Object
(
    [term_id] =>
    [name] =>
    [slug] =>
    [term_group] =>
    [term_taxonomy_id] =>
    [taxonomy] =>
    [description] =>
    [parent] =>
    [count] =>
    [filter] =>
)