PHP添加一个按日期排序的选项

时间:2015-08-05 13:52:05

标签: php wordpress sorting

我在wordpress中有一个列表网站,当你转到搜索结果页面时,irems会按照发布日期(最新的第一个)自动排序。已经有按价格排序的选项(从高到低,从低到高),但我要添加按日期排序的选项(最新的,最早的,最先的)

主题开发人员告诉我需要修改的文件,但除此之外我不会给予任何帮助。

我决定尝试重复代码按价格排序并更改"价格"到"约会"

以下是我添加到" Search-listings.php"

的代码
 /*———————————————————————————–*/
/* Sort By date posted */
/*———————————————————————————–*/

function sort_by_date() {

$extraVars = “”;
foreach($_GET AS $key=>$value) {
$extraVars .= ”;
} ?>

<form action="” name=”order “class=”formsrch” method=”get”>

<option value="DESC" selected=”selected” >
<option value="ASC" selected=”selected” >

<?php }

这是我添加到&#34; theme-functions.php&#34;

的代码
/*-----------------------------------------------------------------------------------*/
/* Sort By date posted */
/*-----------------------------------------------------------------------------------*/

function sort_by_date() {

    $extraVars = "";
    foreach($_GET AS $key=>$value) {
        $extraVars .= '<input type="hidden" name="'.$key.'" value="'.$value.'" />';
    } ?>

    <form action="<?php get_site_url(); ?>"  name="order "class="formsrch" method="get">
        <?php echo $extraVars;?>
        <select class="ct_orderby_price" id="ct_orderby_date" name="ct_orderby_date">
            <option value=""><?php _e('Sort By', 'contempo'); ?></option>
            <option value="DESC" <?php if($_GET['ct_orderby_date'] == 'DESC'){ ?> selected="selected" <?php } ?>><?php _e('Date - Newest', 'contempo'); ?></option>
            <option value="ASC" <?php if($_GET['ct_orderby_date'] == 'ASC'){ ?> selected="selected" <?php } ?>><?php _e('Date - Oldest', 'contempo'); ?></option>
        </select>
    </form>

<?php }

毫不奇怪,这不起作用,我是php的初学者,所以任何建议 将不胜感激

好的,所以我发现我需要将代码添加到现有功能中

/*-----------------------------------------------------------------------------------*/
/* Sort By Price */
/*-----------------------------------------------------------------------------------*/

function sort_by_price() {

    $extraVars = "";
    foreach($_GET AS $key=>$value) {
        $extraVars .= '<input type="hidden" name="'.$key.'" value="'.$value.'" />';
    } ?>

    <form action="<?php get_site_url(); ?>"  name="order "class="formsrch" method="get">
        <?php echo $extraVars;?>
        <select class="ct_orderby_price" id="ct_orderby_price" name="ct_orderby_price">
            <option value=""><?php _e('Sort By', 'contempo'); ?></option>
            <option value="DESC" <?php if($_GET['ct_orderby_price'] == 'DESC'){ ?> selected="selected" <?php } ?>><?php _e('Price - Highest', 'contempo'); ?></option>
            <option value="ASC" <?php if($_GET['ct_orderby_price'] == 'ASC'){ ?> selected="selected" <?php } ?>><?php _e('Price - Lowest', 'contempo'); ?></option>
             <option value="" <?php if($_GET['the_date'] == 'ASC'){ ?> selected="selected" <?php } ?>><?php _e('Date - Newest First', 'contempo'); ?></option>

        </select>

        </select>
    </form>

<?php }

我仍然无法按日期排序&#34;#34;工作,因为我不知道该代替&#34; ct_orderby_price&#34;如果我使用ASC或DESC选项值,它只是跳转到价格选项?

0 个答案:

没有答案