2016-12-14 11 views
0

ページでは、デフォルトのポストソートを価格(desc)で設定します。いくつかのカテゴリがあります。プラグインを使用して手動ソートを設定する必要があります。 私のデフォルトのソート方法では、他の分類ではこれを行うことができないと判断したと思います。一部のカテゴリ(ワードプレス)でのカスタムポストオーダー

コードを変更するにはどうすればいいですか。投稿の手動ソートを設定できるカテゴリのリストを設定することができます。

ここでは、コードです:

<?php 
$args = array(
    'cat'   => '20', 
    'posts_per_page' => 16, 
    'meta_key'  => 'product_price', 
    'orderby'  => 'meta_value_num', 
    'order'   => 'DESC', 
    'paged'   => get_query_var('paged', 1), 
); 
query_posts($args); 
$posts = get_posts($args); 
?> 

<?php foreach ($posts as $post): ?> 
+0

なぜ 'query_post'と' get_posts'を一緒に使うのですか? – Noman

+0

WP_QUERYを試してみてください – Noman

+0

"php while"しようと思うかもしれません - もしcatが '20'なら価格やその他のカテゴリのマニュアルでソートしていますか? – Pat

答えて

0
  1. は、このカスタムポストタイプのpage_attributesを有効にします。これらのカスタム投稿タイプの順序を設定できるようにします。投稿の編集画面の右のセクションに表示されます。

  2. カスタム順序を設定したい場所を、カテゴリIDが特定された場合、一部

    エルス一部

    // if current category is 20 then this code 
    $args = array(
        'cat'   => '20', 
        'posts_per_page' => 16, 
        'orderby'  => 'menu_order', 
        'order'   => 'DESC', 
        'paged'   => get_query_var('paged', 1), 
    ); 
    
    $posts = new WP_Query($args); 
    

    場合

を次のようにWP_Queryを書きます

// else your code 

$args = array(
    'cat'   => '20', 
    'posts_per_page' => 16, 
    'meta_key'  => 'product_price', 
    'orderby'  => 'meta_value_num', 
    'order'   => 'DESC', 
    'paged'   => get_query_var('paged', 1), 
); 

$posts = new WP_Query($args); 
関連する問題