Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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
Php 使自定义分类法成为另一个自定义分类法的子分类法_Php_Wordpress_Custom Post Type_Custom Taxonomy - Fatal编程技术网

Php 使自定义分类法成为另一个自定义分类法的子分类法

Php 使自定义分类法成为另一个自定义分类法的子分类法,php,wordpress,custom-post-type,custom-taxonomy,Php,Wordpress,Custom Post Type,Custom Taxonomy,对于我目前正在开发的Wordpress插件(支持票证系统),我必须映射以下内容。每个票证分配给一个项目(1:1关系)。每个项目依次分配给一个客户(1:1关系)。因此,可以为客户分配任意数量的项目(1:n关系).此外,一张票证可以有多个答案(如此问题),我认为这也是一个cpt。我已经将票证创建为一个自定义帖子类型。我认为客户和项目应该是票证的分类。项目应该作为父分类分配给客户。因此,我已经为项目设置了hierarchy=true。但实际上,在父下拉列表中将显示项目而不是客户(见下面的屏幕截图)。据

对于我目前正在开发的Wordpress插件(支持票证系统),我必须映射以下内容。
每个票证分配给一个项目(1:1关系)。
每个项目依次分配给一个客户(1:1关系)。
因此,可以为客户分配任意数量的项目(1:n关系).
此外,一张票证可以有多个答案(如此问题),我认为这也是一个cpt。

我已经将票证创建为一个自定义帖子类型。
我认为客户和项目应该是票证的分类。
项目应该作为父分类分配给客户。
因此,我已经为项目设置了hierarchy=true。
但实际上,在父下拉列表中将显示项目而不是客户(见下面的屏幕截图)。
据我在Codex中所读到的,我可以使用“-hook”自定义下拉列表。
但我不确定是否会因为不同的slug而出现问题。
这是正确的还是有更好的方法来归档?

试试看

                $taxonomyName = "com_category";
                $parent_terms = get_terms($taxonomyName, array('parent' => 0, 'orderby' => 'slug', 'hide_empty' => false));   

                foreach ($parent_terms as $pterm) {
                    $terms = get_terms($taxonomyName, array('parent' => $pterm->term_id, 'orderby' => 'slug', 'hide_empty' => false));
                    foreach ($terms as $term) {
                        echo '<div class="single_cat col-md-3">';
                        echo '<h3>'.$pterm->name.'</h3>'; 
                        echo "<ul>";
                        echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>'; 
                        echo "</ul>";
                        echo '</div>'; 
                    }
                }
$taxonomyName=“com\u category”;
$parent_terms=get_terms($taxonomyName,array('parent'=>0,'orderby'=>slug','hide_empty'=>false));
foreach($pterm作为父项){
$terms=get_terms($taxonomyName,array('parent'=>$pterm->term_id,'orderby'=>'slug','hide_empty'=>false));
foreach($terms作为$term){
回声';
回声“.$pterm->name.”;
回声“
    ”; 回音“
  • ”; 回声“
”; 回声'; } }
试试看

                $taxonomyName = "com_category";
                $parent_terms = get_terms($taxonomyName, array('parent' => 0, 'orderby' => 'slug', 'hide_empty' => false));   

                foreach ($parent_terms as $pterm) {
                    $terms = get_terms($taxonomyName, array('parent' => $pterm->term_id, 'orderby' => 'slug', 'hide_empty' => false));
                    foreach ($terms as $term) {
                        echo '<div class="single_cat col-md-3">';
                        echo '<h3>'.$pterm->name.'</h3>'; 
                        echo "<ul>";
                        echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>'; 
                        echo "</ul>";
                        echo '</div>'; 
                    }
                }
$taxonomyName=“com\u category”;
$parent_terms=get_terms($taxonomyName,array('parent'=>0,'orderby'=>slug','hide_empty'=>false));
foreach($pterm作为父项){
$terms=get_terms($taxonomyName,array('parent'=>$pterm->term_id,'orderby'=>'slug','hide_empty'=>false));
foreach($terms作为$term){
回声';
回声“.$pterm->name.”;
回声“
    ”; 回音“
  • ”; 回声“
”; 回声'; } }
一个分类法不能是另一个分类法的子分类法。只有分类术语可以作为子项使用。我试图通过钩子更改下拉列表,这很有效。但是保存术语后,表中不再包含内容行,因此您无法再更改术语。只有号码仍然可用且正确。因此,我的问题澄清了子术语是否必须与父术语属于相同的分类法。也许我可以将关系保存为术语Meta。然后两种分类法都必须是非层次的。一种分类法不能是另一种分类法的子分类法。只有分类术语可以作为子项使用。我试图通过钩子更改下拉列表,这很有效。但是保存术语后,表中不再包含内容行,因此您无法再更改术语。只有号码仍然可用且正确。因此,我的问题澄清了子术语是否必须与父术语属于相同的分类法。也许我可以将关系保存为术语Meta。然后两种分类法都必须是非层次的。这可能在前端有效,但在分类法编辑屏幕上无效。在这方面,我必须通过“taxonomy\u parent\u dropdown\u args”钩子更改下拉列表的参数。您可以在parentYes下创建自定义子类别列表,但子类别必须来自与父类别相同的类型。因此,如果我将父类别命名为mjm_customer,则所有子类别都必须来自mjm_customer类型。但是孩子们应该有自己的mjm_项目类别。我已经在5月29日13:42[/link>深入代码@查看我的评论,发现这是不可能的。因此我将尝试将其存储为术语元。这可能在前端工作,但在分类法编辑屏幕上不起作用。在这一点上,我必须通过“分类法\父项\下拉列表\参数”更改下拉列表的参数钩子。您可以在parentYes下创建自定义子类别列表,但子类别必须来自与父类别相同的类型。因此,如果我将父类别命名为mjm_customer,则所有子类别都必须来自mjm_customer类型。但子类别应该有自己的mjm_项目类别类型。我已经深入研究了代码@see my com从5月29日13:42[/link>开始计算,并发现这是不可能的。因此我将尝试将其存储为术语metas。