Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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:列出带有子项的自定义分类法_Wordpress - Fatal编程技术网

Wordpress:列出带有子项的自定义分类法

Wordpress:列出带有子项的自定义分类法,wordpress,Wordpress,我正在尝试为自定义分类法以及术语的子项创建一个链接列表。i、 e: <ul> <li><a href="/telephony">Telephony</a> <ul> <li><a href="/blackberry">BlackBerry</a></li> <li><a href="/fixed-ip

我正在尝试为自定义分类法以及术语的子项创建一个链接列表。i、 e:

<ul>
    <li><a href="/telephony">Telephony</a>
        <ul>
            <li><a href="/blackberry">BlackBerry</a></li>
            <li><a href="/fixed-ip">Fixed IP</a></li>
        </ul>
    </li>
    <li><a href="/email">Email</a>
        <ul>
            <li><a href="/fax">Fax</a></li>
            <li><a href="/text">Text</a></li>
            <li><a href="/nhs-email">NHS Email</a></li>
        </ul>
    </li>
</ul>
到目前为止,我已经:

    <?php
    $termID = 451;
    $taxonomyName = "service_line_category";
    $termchildren = get_term_children( $termID, $taxonomyName );

    echo '<ul>';
    foreach ($termchildren as $child) {
        $term = get_term_by( 'id', $child, $taxonomyName );
        echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>';
    }
    echo '</ul>';
    ?>

但是,这只获取“$termID=451;”的子项但我不知道如何修改它,以获得列表中“服务线”类别中所有术语的家长和孩子


有什么想法吗?

使用变量,您可以执行以下操作:

$taxonomyName = "service_line_category";
$termID = get_cat_ID($taxonomyName);
    <?php
    $taxonomyName = "service_line_category";
    $termID = get_cat_ID($taxonomyName);
    $termchildren = get_term_children( $termID, $taxonomyName );

    echo '<ul>';
    foreach ($termchildren as $child) {
        $term = get_term_by( 'id', $child, $taxonomyName );
        echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>';
    }
    echo '</ul>';
    ?>

使用变量,可以执行以下操作:

$taxonomyName = "service_line_category";
$termID = get_cat_ID($taxonomyName);
    <?php
    $taxonomyName = "service_line_category";
    $termID = get_cat_ID($taxonomyName);
    $termchildren = get_term_children( $termID, $taxonomyName );

    echo '<ul>';
    foreach ($termchildren as $child) {
        $term = get_term_by( 'id', $child, $taxonomyName );
        echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>';
    }
    echo '</ul>';
    ?>

@Alexcp是这样的:

$taxonomyName = "service_line_category";
$termID = get_cat_ID($taxonomyName);
    <?php
    $taxonomyName = "service_line_category";
    $termID = get_cat_ID($taxonomyName);
    $termchildren = get_term_children( $termID, $taxonomyName );

    echo '<ul>';
    foreach ($termchildren as $child) {
        $term = get_term_by( 'id', $child, $taxonomyName );
        echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>';
    }
    echo '</ul>';
    ?>


显然这不起作用,但这是正确的吗

$taxonomyName = "service_line_category";
$termID = get_cat_ID($taxonomyName);
    <?php
    $taxonomyName = "service_line_category";
    $termID = get_cat_ID($taxonomyName);
    $termchildren = get_term_children( $termID, $taxonomyName );

    echo '<ul>';
    foreach ($termchildren as $child) {
        $term = get_term_by( 'id', $child, $taxonomyName );
        echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>';
    }
    echo '</ul>';
    ?>


显然,这不起作用,但这是正确的吗?

以下是您需要的代码:

<?php
$taxonomyName = "service_line_category";
$terms = get_terms($taxonomyName,array('parent' => 0));
foreach($terms as $term) {
    echo '<a href="'.get_term_link($term->slug,$taxonomyName).'">'.$term->name.'</a>';
    $term_children = get_term_children($term->term_id,$taxonomyName);
    echo '<ul>';
    foreach($term_children as $term_child_id) {
        $term_child = get_term_by('id',$term_child_id,$taxonomyName);
        echo '<li><a href="' . get_term_link( $term_child->term_id, $taxonomyName ) . '">' . $term_child->name . '</a></li>';
    }
    echo '</ul>';
}
?>

以下是您需要的一段代码:

<?php
$taxonomyName = "service_line_category";
$terms = get_terms($taxonomyName,array('parent' => 0));
foreach($terms as $term) {
    echo '<a href="'.get_term_link($term->slug,$taxonomyName).'">'.$term->name.'</a>';
    $term_children = get_term_children($term->term_id,$taxonomyName);
    echo '<ul>';
    foreach($term_children as $term_child_id) {
        $term_child = get_term_by('id',$term_child_id,$taxonomyName);
        echo '<li><a href="' . get_term_link( $term_child->term_id, $taxonomyName ) . '">' . $term_child->name . '</a></li>';
    }
    echo '</ul>';
}
?>


为什么要发布一个无效的答案并接受它?接受西里尔的答案,如果这是什么工作。为什么张贴一个不工作的答案,并接受它?接受西里尔的回答,如果这是有效的。