對於將使用查詢字符串的最簡單方法。
我假設您正在查看類別頁面。
首先,我們將按鈕添加到分類頁面
<a href="?sortby=comment>Sort by Comment</a>
<a href="?sortby=views>Sort by Views</a>
<a href="?sortby=alphabet>Alphabetical</a>
這增加了查詢字符串的頁面的URL,現在在分類頁面我們將頂部添加以下代碼:
<?php
if (array_key_exists("sortby", $_GET) === true)
{
$newQuery = sortIt($_GET['sortby']);
}
?>
那之後,我們將創建既然我們有3種排序將在的functions.php模板
對我們的職位進行排序的功能,我們可以使用一個開關盒或if-else語句。我會在這裏使用if-else。
<?php
function sortIt($sortType)
{
global $wp_query;
$cat_ID = get_query_var('cat');
if (strcmp($sortType, 'comment') == 0)
{
$newQuery = new WP_Query(array('orderby' => 'comment_count' , 'cat' => $cat_ID, 'posts_per_page' => '10'));
}
if (strcmp($sortType, 'views') == 0)
{
$newQuery = new WP_Query(array('meta_key' => 'views', 'orderby' => 'meta_value_num', 'order'=> 'DESC', 'cat' => $cat_ID, 'posts_per_page' => '10'));
}
if (strcmp($sortType, 'alphabetical') == 0)
{
$newQuery = new WP_Query(array('orderby' => 'title' , 'cat' => $cat_ID, 'posts_per_page' => '10'));
}
return $newQuery;
}
?>
WordPress的沒有一個本地的觀看次數,我使用的是讀here的指令。
由於我們有所有必要的功能和變量,我們需要重寫查詢。
<?php if ($newQuery->have_posts()) : while ($newQuery->have_posts()) : $newQuery->the_post(); ?>
就是這樣:)
:
所以它是這樣的,將編輯循環