如何使用 foreach 循环在我的代码中回显

问题描述 投票:0回答:1

这可能是基本的,但是,我找到了这段代码

function get_sorted_categories( $order_by = 'id' ){
    global $wpdb;

    $category = get_categories();

    $order = [
        'id' => 'post.ID',
        'date' => 'post.post_date',
        'modified' => 'post.post_modified',
    ];

    $order_by = $order[ $order_by ];

    $q = $wpdb->get_results("SELECT tax.term_id FROM `{$wpdb->prefix}term_taxonomy` tax
    INNER JOIN `{$wpdb->prefix}term_relationships` rel ON rel.term_taxonomy_id = tax.term_id
    INNER JOIN `{$wpdb->prefix}posts` post ON rel.object_id = post.ID WHERE tax.taxonomy = 'category' AND post.post_type = 'post' AND post.post_status = 'publish' ORDER BY {$order_by} DESC");

    $sort = array_flip( array_unique( wp_list_pluck( $q, 'term_id' ) ) );

    usort( $category, function( $a, $b ) use ( $sort, $category ) {
        if( isset( $sort[ $a->term_id ], $sort[ $b->term_id ] ) && $sort[ $a->term_id ] != $sort[ $b->term_id ] )
            $res = ($sort[ $a->term_id ] > $sort[ $b->term_id ]) ? 1 : -1;
        else if( !isset( $sort[ $a->term_id ] ) && isset( $sort[ $b->term_id ] ) )
            $res = 1;
        else if( isset( $sort[ $a->term_id ] ) && !isset( $sort[ $b->term_id ] ) )
            $res = -1;
        else
            $res = 0;

        return $res;
    } );

    return $category;
}

print_r( get_sorted_categories('date') );


我希望结果显示为列表而不是 print_r。

我一直在尝试这个

$list = get_sorted_categories('日期');

foreach ($list as $items){ echo $items; }

但是不起作用

php wordpress foreach
1个回答
0
投票

get_sorted_categories
将返回一个术语对象数组,您可以循环使用该数组,并在循环中选择一个对象,使用该对象您可以访问对象属性
term_id
name
slug
等。

我不知道你想以哪种格式显示它们,但你可以检查下面的链接以查看一些示例,然后你可以根据你的需要尝试你的代码。

https://developer.wordpress.org/reference/functions/get_categories/#user-contributed-notes

© www.soinside.com 2019 - 2024. All rights reserved.