亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WordPress:根據元字段列出帶有 AZ 列表的作者

WordPress:根據元字段列出帶有 AZ 列表的作者

PHP
MM們 2023-09-15 17:23:36
我想列出所有作者并從 AZ 訂購。問題是,我需要通過自定義元字段而不是它們的顯示名稱來對它們進行排序。如果我按作者的顯示名稱對作者進行排序,則一切正常。但如果我嘗試通過自定義字段訂購它們,AZ 列表將不再起作用。對于上下文:我正在使用 WooCommerce 插件 WC Vendors,作者有一個商店名稱,我想將其用作訂購的參考。這是我當前的代碼:$display_admins = false;$order_by = 'display_name'; // 'nicename', 'email', 'url', 'registered', 'display_name', or 'post_count'$role = 'vendor'; // 'subscriber', 'contributor', 'editor', 'author' - leave blank for 'all'$avatar_size = 32;$hide_empty = true; // hides authors with zero posts$last = '';if(!empty($display_admins)) {    $blogusers = get_users('orderby='.$order_by.'&role='.$role);} else {    $admins = get_users('role=administrator');    $exclude = array();    foreach($admins as $ad) {        $exclude[] = $ad->ID;    }    $exclude = implode(',', $exclude);    $blogusers = get_users('exclude='.$exclude.'&orderby='.$order_by.'&role='.$role);}$authors = array();foreach ($blogusers as $bloguser) {    $user = get_userdata($bloguser->ID);    if(!empty($hide_empty)) {        $numposts = count_user_posts($user->ID, 'product');        if($numposts < 1) continue;    }    $authors[] = (array) $user;}echo '<ul class="contributors">';foreach($authors as $author) {    //$display_name         = $author['data']->display_name;    //$avatar           = get_avatar($author['ID'], $avatar_size);    //$author_profile_url = get_author_posts_url($author['ID']);    $vendor_shop_name           = get_user_meta( $author['ID'], 'pv_shop_name', true );    $vendor_shop_desc           = get_user_meta( $author['ID'], 'pv_shop_description', true );    $vendor_shop_keyvsiual      = get_user_meta( $author['ID'], 'vendor_keyvisual', true );    $vendor_shop_icon_id        = get_user_meta( $author['ID'], '_wcv_store_icon_id', true );    $vendor_shop_link           = WCV_Vendors::get_vendor_shop_page( $author['ID'] );正如你所看到的,我已經嘗試更改$current為元字段pv_shop_name 。我將字符串減少到第一個字母。效果很好,但由于某種原因,排序不再起作用。?如果商店名稱以例如開頭,我發現特殊字符存在問題。我在這里沒有看到問題。$order_by = 'display_name';也許和一開始有什么關系?但我怎樣才能改變這一點呢?
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

我想到了。

我必須將其更改$oderby為:

$order_by = 'meta_value';

我必須meta_key=pv_shop_name添加$blogusers

$blogusers = get_users('meta_key=pv_shop_name&exclude='.$exclude.'&orderby='.$order_by.'&role='.$role);

現在效果很好。


查看完整回答
反對 回復 2023-09-15
  • 1 回答
  • 0 關注
  • 96 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號