web-dev-qa-db-ja.com

2番目の単語で注文タイトルで?

私はフルネームをタイトル投稿として持っており、姓でそれを注文したいです。

どのように私はワードプレスでこれを行うことができますか?

PHPでは、 - の行に沿っています。

 SELECT * from posts ORDER BY SUBSTR(LTRIM(post_title), LOCATE(' ',LTRIM(post_title)))

現在のコード取得人数カテゴリです。

$args = array(
    'posts_per_page'=>50,
    'cat'=> '39,-41',
    'orderby'=>'title',
    'order'=>'ASC',
);
query_posts($args);

2番目のWordの注文を取得する方法

最高です、ダン。

4
v3nt

'posts_orderby'というフィルタがあり、これを使って独自のORDER BY句を指定することができます。あなたの場合、コードは次のようになります。

add_filter( 'posts_orderby', 'order_by_surname' );

function order_by_surname( $orderby, $query ) {

    // first you should check to make sure sure you're only filtering the particular query
    // you want to hack. return $orderby if its not the correct query;

    return "ORDER BY SUBSTR(
        LTRIM({$wpdb->posts}.post_title), 
        LOCATE(' ',LTRIM({$wpdb->posts}.post_title)))";

}
4
goldenapples

最初の例はSQLクエリです。これを行うネイティブのWordPress関数はありません。

そのため、いくつかのPHPオプションを残して 展開しますstr_Word_count 、および sort (またはksort)配列をアルファベット順に並べます。

これは、このタイプのデータを使用するための非常に奇妙な方法です。メタボックスに入れる必要があります。基本的に、必要なものを取得するには、クエリをハッキングする必要があるためです。

3
Wyck