[解決済み] 週/月/全期間での投稿の並べ替え
2022-02-17 11:23:50
質問
そこで、基本的な設定でなんとか投稿を分類しています。これを日付-ASC、日付-DEC、コメントなどの週、月、すべての時間から変更したいのです。また、以下のコードを組み込むことで、すべての投稿ではなく、上位に投票された投稿のみをソートすることができればと思っています。
meta_key=votes_count&orderby=meta_value_num&order=DESC&posts_per_page=10
現時点での私の作業用トップレートページで、私のdate-ascやタイトルなどをソートします。
<?php
if( isset($_GET['o']) && $_GET['o'] != '')
{
$order = $_GET['o'];
switch($order)
{
case 'date-asc': $orderby = 'order=ASC';
$msg = 'Date Ascending';
break;
case 'date-desc': $orderby = 'order=DESC';
$msg = 'Date Descending(default)';
break;
case 'date-mod': $orderby = 'orderby=modified';
$msg = 'Date Modified';
break;
case 'title-asc': $orderby = 'orderby=title&order=ASC';
$msg = 'Title A-Z';
break;
case 'title-desc': $orderby = 'orderby=title&order=DESC';
$msg = 'Title Z-A';
break;
case 'comment': $orderby = 'orderby=comment_count';
$msg = 'Comment Count';
break;
}
}
else
{
$orderby = 'order=DESC';
$msg = 'Date Descending (default)';
}
?>
<div id="content">
<div id="sorter-container">
<h2 id="sort-heading">Posts ordered by:<?php echo $msg; ?></h2>
<select id="order-by">
<option value="date-desc" <?php echo (!isset($order) || $order == '' || $order == 'date-desc')? 'selected="selected"':''; ?>>Date Desc. (default)</option>
<option value="date-asc" <?php echo ($order == 'date-asc')? 'selected="selected"':''; ?>>Date Asc</option>
<option value="date-mod" <?php echo ($order == 'date-mod')? 'selected="selected"':''; ?>>Date Modified</option>
<option value="title-desc" <?php echo ($order == 'title-desc')? 'selected="selected"':''; ?>>Title Desc.</option>
<option value="title-asc" <?php echo ($order == 'title-asc')? 'selected="selected"':''; ?>>Title Asc.</option>
<option value="comment" <?php echo ($order == 'comment')? 'selected="selected"':''; ?>>Comments Count</option>
</select>
</div>
<script type="text/javascript">
var orderby = jQuery('#order-by');
var str;
orderby.change(function(){
str = jQuery(this).val();
window.location.href = "<?php echo home_url(); ?>/top-rated/?o="+str;
});
</script>
EDIT2です。 OK、これは私が持っているものです、それはもはや動作しませんので、私はちょうどそれが行くべきだと思う場所に週/月/ALLTIMEを追加しました(私はそれが正しくないことを知っているが、私はちょうど7日などにソートを制限する方法がよく分かりませんでした。
<?php
if( isset($_GET['o']) && $_GET['o'] != '')
{
$order = $_GET['o'];
switch($order)
{
case 'week': $orderby = 'meta_key=votes_count&orderby=meta_value_num&order=DESC&WEEK&posts_per_page=10';
$msg = 'This Week (default)';
break;
case 'month': $orderby = 'meta_key=votes_count&orderby=meta_value_num&order=DESC&MONTH&posts_per_page=10';
$msg = 'This Month';
break;
case 'alltime': $orderby = 'meta_key=votes_count&orderby=meta_value_num&order=DESC&ALLTIME&posts_per_page=10';
$msg = 'All Time';
break;
else
{
$orderby = 'order=DESC';
$msg = 'This Week (default)';
}
?>
<div id="content">
<div id="sorter-container">
<h2 id="sort-heading">Posts ordered by:<?php echo $msg; ?></h2>
<select id="order-by">
<option value="week" <?php echo (!isset($order) || $order == '' || $order == 'week')? 'selected="selected"':''; ?>>This Week (default)</option>
<option value="month" <?php echo ($order == 'month')? 'selected="selected"':''; ?>>This Month</option>
<option value="alltime" <?php echo ($order == 'alltime')? 'selected="selected"':''; ?>>All Time</option>
</select>
</div>
解決方法は?
質問のコメントにあるように、あなたの現在のコードベースは、あなたが望むことを行うことが可能ではありません。
wp-postratings
FAQで質問されているようなことができます。
一定期間内に最も評価の高い投稿を表示する
.
これを見れば、解決するはずです。
関連
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: パラメータが定義されていません
-
[解決済み] ずっとUTF-8
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] オブジェクトのプロパティを値でソートする
-
[解決済み】オブジェクトの配列をプロパティ値でソートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】 $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて]
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み】PHPのクラスが見つからないが、インクルードされている
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
[解決済み】phpのシンタックスエラー、予期しないT_IFエラーを修正する方法は?[クローズド]。
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。