gakusei
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧のソートをタクソノミーで出来るようにしたいgqevu6bsizさん
また、返信が遅くなって本当に申し訳ありませんでした。
gqevu6bsizさんの記述の後も、いろいろと調べてみました。
まず、search.phpについてですが、
gqevu6bsizさんが教えてくださいましたコードで無事出来ました。
いつもいつも、お世話になっています。
本当にありがとうございます。また、pre_get_postsについてなのですが、
gqevu6bsizさんから返信をくださった後も、
調べたのですが、推奨と非推奨の話が多く、
結局自分で理解できませんでした。
そのため、gqevu6bsizさんがおっしゃるように、
pre_get_postsについて
別のトピックをたてることにします。ただ、私が理解できるようにしたいので、
今までgqevu6bsizさんが教えて下さったソートのコードを
貼り付けようと思います。もし、お時間があるようでしたら、
またお返事をいただけると嬉しいです。勝手で申し訳ないのですが、トピックの目的は達成できたので、
こちらのトピックは一度解決済みにさせてください。
ありがとうございました。フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧のソートをタクソノミーで出来るようにしたいgqevu6bsizさん
毎回丁寧なご回答ありがとうございます。
ここ数週間自力でいろいろとがんばったのですが、
結局ソートに関してわからないことが出てきてしまった
ということになってしまいました。ご返信が遅くなって大変申し訳ないと同時に、
もし時間があるようでしたら、
また教えていただけますと大変助かります。カスタムタクソノミーのソートについては、
gqevu6bsizさんが記載してくださいました
コードを組み込むことで、出来るようになりました。
ありがとうございます。ただ、タクソノミーでもソートできるコードについて、
検索結果のソートが出来ませんでした。
コードを記載するので、間違いなどを教えていただけませんでしょうか?<?php $uri = home_url( '/' ); ?> <?php if( is_category() or is_tag() or is_tax() ) : ?> <?php $term = get_queried_object(); ?> <?php if ( $term ) : ?> <?php $uri = get_term_link( $term , $term->taxonomy ); ?> <?php endif; ?> <?php endif; ?> <div class="sort"> <select name="original-sort-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'date' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'date' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>日付の新しい順</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'date' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'date' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>日付の古い順</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'title' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'title' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>タイトル順(あ~わ・A~Z)</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'title' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'title' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>タイトル順(わ~あ・Z~A)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_average' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_average' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>評価の高い順(平均)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_average' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_average' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>評価の低い順(平均)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_score' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_score' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>評価の高い順(総合)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_score' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_score' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>評価の低い順(総合)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_users' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_users' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>評価数の多い順</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_users' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_users' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>評価数の少ない順</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'comment_count' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'comment_count' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>コメント数の多い順</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'comment_count' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'comment_count' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>コメント数の少ない順</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'views' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'views' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>閲覧数の多い順</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'views' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'views' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>閲覧数の少ない順</option> </select> </div> <?php // 何の指定もないときのデフォルトのソート順 $paged = get_query_var( 'paged' ); if( empty( $paged ) ) { $paged = 0; } $args = array( 'posts_per_page' => get_option( 'posts_per_page' ) , 'orderby' => 'date' , 'order' => 'DESC' , 'paged' => $paged ); if( is_category() ) { $args["cat"] = get_query_var( "cat" ); } elseif( is_tag() ) { $args["tag"] = get_query_var( "tag" ); } $taxonomy = get_query_var( "taxonomy" ); if( !empty( $taxonomy ) ) { $args[$taxonomy] = get_query_var( "term" ); } $args["s"] = get_query_var( "s" ); if( !empty( $_GET["meta_key"] ) ) { $args["meta_key"] = strip_tags( $_GET["meta_key"] ); $args["orderby"] = 'meta_value_num'; } elseif( !empty( $_GET["orderby"] ) ) { $args["orderby"] = strip_tags( $_GET["orderby"] ); unset( $args["meta_key"] ); } if( !empty( $_GET["order"] ) ) { $args["order"] = strip_tags( $_GET["order"] ); } ?> <?php query_posts( $args ); ?>
また、
query_postsではなくpre_get_postsフィルターを用い、is_main_queryでチェックしてメインクエリーを変更することが強く推奨されています。
ということですが、
自分なりに調べてもどうするのがよいのか分かりませんでした。
今回のソートのコードに対しても、どのように変更していいのか分からず困惑しております。一方的で返信も遅くなってしまい本当に申し訳ないのですが、
お時間があるようでしたら、
教えていただけますと幸いです。よろしくお願い致します。
フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧の時のソートができませんgqevu6bsizさん
このトピックで続けてよいのかわからなかったので、
新しくトピックをたてました。もしよかったら、また力をお貸しいただきたいです・・
今まで何度も教えていただいたソートについてなのですが、
今回、本来あるカテゴリーに加えてcustom post type uiで作成したタクソノミーを
使用することで、カテゴリーを2つ用意するようにしました。記事を検索したときに、カテゴリーと新しいタクソノミーの両方で
絞り込み検索が出来るようにはなんとかなったのですが、タクソノミーだけで絞り込んだ場合と
カテゴリーとタクソノミーの両方で絞り込んだ場合の検索結果で
ソートが出来ず、トップページに戻ってしまいます。今までの質問の答えも見直しましたが、
どうしても分かりませんでした。質問の狙いがわかりづらいかもしれないですが、
よろしければご回答いただけませんでしょうか
本当に失礼かと思いますが、
すいませんがお願いします。フォーラム: 使い方全般
返信が含まれるトピック: 管理画面で管理者以外の権限の人がメディアとツールを編集出来ないよう追加的になってしまい、失礼かと思いますが、
ダッシュボードも管理者以外はURLなどからでも
閲覧出来ないような状態にしたいと思っています。結果的に、現在
「ダッシュボード」と「ツール」も
管理者権限以外の人が使用できない状態を目指しています。何か方法をご存知の方がいらっしゃいましたら、
助けていただきたいです。フォーラム: 使い方全般
返信が含まれるトピック: 管理画面で管理者以外の権限の人がメディアとツールを編集出来ないようShinichiNさん
ご返信が遅くなってしまい、申し訳ありませんでした。
メディアについては、upload_filesで
管理者以外は入れなくなりました。
ありがとうございます。ShinichiNさんは、upload_filesをどうやって見つけましたか?
出来れば、ダッシュボードとツールも同じ仕様にしたいのですが・・・add_actionのほうについては、function.nameのほうが
いまいち見つけ方を理解できていなくて、
うまく活用できていない、という感じです・・・
すいませんフォーラム: 使い方全般
返信が含まれるトピック: 管理画面で管理者以外の権限の人がメディアとツールを編集出来ないようShinichiNさん
ご回答ありがとうございます。
読んでみたのですが、remove_capに何を入れると
メディアとツールの権限をなくすことが出来るのか
いまいち理解できませんでした。remove_capなどに入れるものを探すために
どうするのがよいのでしょうか?フォーラム: 使い方全般
返信が含まれるトピック: 管理画面で管理者以外の権限の人がコメントを編集出来ないようにしたいgqevu6bsizさん
返信が遅くなってしまい、大変申し訳ありませんでした。
gqevu6bsizの指摘していただいた通りの質問を持っています。
gqevu6bsizさんがおっしゃってくださいましたように、
別でトピックをたてたいと思います。ありがとうございました!
フォーラム: 使い方全般
返信が含まれるトピック: 管理画面で管理者以外の権限の人がコメントを編集出来ないようにしたいgqevu6bsizさん
お久しぶりです!
日が空いてしまい、本当にごめんなさい
今回もサポートしていただいてありがとうございますgqevu6bsizさんが書いてくださいましたコードで無事出来ました。
とても助かりました。ちなみになのですが、コメント以外でメディアやダッシュボードなども
権限のコントロールをすることが出来るものなのでしょうか?フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧の時のソートができませんgqevu6bsizさん
返信が遅くなってしまい、大変申し訳ありませんでした。
ソートと記事が見つからなかった場合の表示について、
無事両方とも出来ました!何度も何度もお世話になってしまい、本当に失礼だと思いますが、
粘り強く対応して下さり、感謝しています。ありがとうございました。
もし、また質問するようでしたらすいません。
その時は、またよろしくお願いします。今回は本当にありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧の時のソートができませんgqevu6bsizさん
検索結果のソートが動かない理由について、
原因が分かりました。なぜ、このようなコードを挿入したのか覚えていないのですが、
検索して記事が見つからなかったときに
文章を表示するために、以下のようなコードを挿入していました。<?php query_posts('posts_per_page=-1&order=DESC&' . $query_string); ?> <?php if(have_posts()): while(have_posts()): the_post(); ?> <?php endwhile; else: ?> <p>一致する記事は見つかりませんでした</p> <?php endif; ?>
どうも、このコードとぶつかっていたみたいです。
ただ、このコードが使えないとなると、
今回のようなソートのためのコードを用いた時に、
記事が無かった時の場合を表示する方法というものは
あるのでしょうか。追加的な質問で申し訳ありませんが、
よろしかったら、ご回答いただけますとありがたいです。フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧の時のソートができませんgqevu6bsizさん
情報を記載しておきます
<?php print_r($args); ?>について
・キーワード検索のみの場合
→Array
(
[nopaging] => 1
[orderby] => date
[order] => DESC
[s] => 投稿
)・キーワード検索+コメント数の多い順ソート+カテゴリ指定の場合
→Array
(
[nopaging] => 1
[orderby] => comment_count
[order] => DESC
[cat] => 5
[s] => キーワード名
)また、gqevu6bsizさんの
search.phpと入れ替えた結果、以下のようなことが分かりました
→・「Search Results for: 投稿」より下が表示されませんでした
・フッターも表示されませんでした
・記事の一覧が表示されませんでした
・ヘッダーから「<?php print_r($args); ?>
」までは
普通に表示されました以下のような部分が変更点かと思います。
よろしくお願いします
フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧の時のソートができませんgqevu6bsizさん
以下のような表記でよいのかわかりませんが、
このようではないかと思い、記載しました・$uriについて(<?php echo $uri; ?>を入れました)
=http://localhost/wordpress/と表示されました・$argsについて
→<?php print_r($args); ?>
を入れたところ、
Array
(
[nopaging] => 1
[orderby] => date
[order] => DESC
[s] => 投稿
)と表示されました
・キーワードを検索したときのURLについて
→カテゴリーを絞らなかった場合
=http://localhost/wordpress/?s=キーワード&cat=0
カテゴリを絞った場合
=http://localhost/wordpress/?s=キーワード&cat=5と表示されました
・ソート順を選択後のURLについて
(コメント数の多い順でソートしました)
→カテゴリーを絞らなかった場合
=http://localhost/wordpress/?orderby=comment_count&order=DESC&s=キーワード→カテゴリーを絞った場合
=/category/カテゴリー名/?orderby=comment_count&order=DESC&s=キーワードと表示されました
・現状について
→現状は、日付の新しい順で記事の一覧が表示されています以上が情報となるのですが、大丈夫でしょうか
よろしくお願いしますフォーラム: 使い方全般
返信が含まれるトピック: 記事一覧の時のソートができませんgqevu6bsizさん
表示する記事の数については、
gqevu6bsizさんが提示してくださいましたコードの挿入によって、
出来ました。また、別件も無事機能しました。
ただ、検索結果については、ソートが出来ませんでした。
gqevu6bsizさんが作成してくださいましたコードを
そのまま貼り付けてみましたが、カテゴリーを絞り込む、絞り込まないに関わらず
ソートが出来ませんでした。なにか他のコードが邪魔をしてしまう、ということがあるのでしょうか。
フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧の時のソートができませんgqevu6bsizさん
本当に申し訳ないです。
いろいろと考え、試したところ、
gqevu6bsizさんのコードを用いて、結果的に以下のようなコードにしました。(以下のコードは、category.phpに入れました)
<?php $uri = home_url( '/' ); ?> <?php if( is_category() or is_tag() ) : ?> <?php $term = get_queried_object(); ?> <?php if ( $term ) : ?> <?php $uri = get_term_link( $term , $term->taxonomy ); ?><br> <?php endif; ?> <?php endif; ?> <div class="sort"> <select name="original-sort-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'date' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'date' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>日付の新しい順</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'date' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'date' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>日付の古い順</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'title' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'title' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>タイトル順(あ~わ・A~Z)</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'title' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'title' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>タイトル順(わ~あ・Z~A)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_average' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_average' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>評価の高い順(平均)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_average' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_average' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>評価の低い順(平均)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_score' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_score' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>評価の高い順(総合)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_score' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_score' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>評価の低い順(総合)</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_users' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_users' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>評価数の多い順</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'ratings_users' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'ratings_users' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>評価数の少ない順</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'comment_count' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'comment_count' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>コメント数の多い順</option> <?php $Selected = ''; if( !empty( $_GET["orderby"] ) && !empty( $_GET["order"] ) ) : if( $_GET["orderby"] == 'comment_count' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'orderby' => 'comment_count' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>コメント数の少ない順</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'views' && $_GET["order"] == 'DESC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'views' , 'order' => 'DESC' ), $uri ); ?>" <?php echo $Selected ?>>閲覧数の多い順</option> <?php $Selected = ''; if( !empty( $_GET["meta_key"] ) && !empty( $_GET["order"] ) ) : if( $_GET["meta_key"] == 'views' && $_GET["order"] == 'ASC' ) : $Selected = 'selected="selected"'; endif; endif; ?> <option value="<?php echo add_query_arg( array( 'meta_key' => 'views' , 'order' => 'ASC' ), $uri ); ?>" <?php echo $Selected ?>>閲覧数の少ない順</option> </select> </div> <?php // 何の指定もないときのデフォルトのソート順 $args = array( 'nopaging' => 1 , 'orderby' => 'date' , 'order' => 'DESC' ); if( is_category() ) { $args["cat"] = get_query_var( "cat" ); } elseif( is_tag() ) { $args["tag"] = get_query_var( "tag" ); } if( !empty( $_GET["meta_key"] ) ) { $args["meta_key"] = strip_tags( $_GET["meta_key"] ); $args["orderby"] = 'meta_value_num'; } elseif( !empty( $_GET["orderby"] ) ) { $args["orderby"] = strip_tags( $_GET["orderby"] ); unset( $args["meta_key"] ); } if( !empty( $_GET["order"] ) ) { $args["order"] = strip_tags( $_GET["order"] ); } ?> <?php query_posts( $args ); ?>
このコードだと、一通りソートができ、よいのではないかと思っていました。
ただ、上記のコードだと、筆者ごとのソートと、検索結果のソートをどのように
作ればいいかがいまいちよくわかりませんでした。
(カテゴリーを絞った場合も、同様にわかりませんでした。)以前から何度も教えていただいているのにも関わらず、
勝手な対応で、非常に申し訳ないと思っていますが、
上記のコードの工夫で、筆者や検索の場合などでも、
ソートが出来るようでしたら、教えていただきたいです。また、先ほど気づいたのですが、
gqevu6bsizさんが教えてくださいましたコードも、
私が勝手に変えてしまった上記のコードも、
どちらのコードを用いても、
「管理画面」の「設定」にある「表示設定」から表示する記事の数を
制限しても機能せず、全ての記事が表示される、という状況になってしまいます。いろいろと調べてみると、
どうも、query_postsが影響しているみたいです。この部分に対しても、gqevu6bsizさんのコードで
なにか工夫が出来ることがありましたら、教えていただきたいです。長くなってしまうと同時に、一方的に話を進めてしまって
非常に申し訳ないと思っています。
お手数ですが、もしよろしければ、
ご回答をよろしくお願いします。フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧の時のソートができませんgqevu6bsizさん
たびたび申し訳ありません。
別のトピックをたてるか悩みましたが、
トピックを未解決にすることにしました。
すいません。
もし、お時間があるようでしたら、ご回答いただけますとありがたいです。何度も質問してしまって、非常に申し訳ないです。
検索フォームで検索するときに、
<?php wp_dropdown_categories(); ?>を使うことで、カテゴリーを絞って検索できるようにしました。ただ、gqevu6bsizさんのコードを使っても、<?php wp_dropdown_categories(); ?>で
絞って検索した時に、ソートが出来ませんでした。検索フォームをカテゴリーで絞った場合でも、
gqevu6bsizさんのコードでのソートは出来るのでしょうか。本当にすいません。
よろしくお願いします。