自定义模板中的搜索结果

时间:2013-07-04 作者:Navneil Naicker

我有一个自定义页面resources-search.php 处理搜索表单的搜索结果的模板。在我的function.php 我有以下数组:

$YearList = array(\'2000\',\'2001\',\'2002\',\'2003\',\'2004\',\'2005\',\'2006\',\'2007\',\'2008\',\'2009\',\'2010\',\'2011\',\'2012\',\'2013\');
是的,你猜对了。这是一系列的年份。在我的resources-search.php 我正在使用此代码:

<select name="year" id="opt_year">
<option value="0" selected="true" disabled="true">Year</option>
<?php
foreach($YearList as $key => $value){
echo \'<option value="\'.$value.\'">\'.$value.\'</option>\'; //close your tags!!
}
 ?>
</select>
这是上面阵列中的下拉菜单。这种方法实际上对我不起作用。在其他页面中,它确实起作用,但在resources-search.php.

有什么想法吗?

2 个回复
SO网友:TheDeadMedic

您需要在中声明变量为全局变量resources-search.php:

<?php

global $YearList;

// Rest of file...
我可以问你为什么要硬编码这些年,而不是。。。

$YearList = range( 2000, 2013 );
$YearList = range( 2000, date( \'Y\' ) ); // From 2000 to current year

SO网友:shea

因为您在中定义了变量functions.php 并不意味着你可以在resources-search.php. 相反,您需要将数组作为$GLOBALS 变量,然后您可以在任何位置访问它:

在中functions.php

$GLOBALS[\'year_list\'] = array(\'2000\',\'2001\',\'2002\',\'2003\',\'2004\',\'2005\',\'2006\',\'2007\',\'2008\',\'2009\',\'2010\',\'2011\',\'2012\',\'2013\');

英寸resources-search.php

foreach( $GLOBALS[\'year_list\'] as $key => $value ) {
    echo \'<option value="\'.$value.\'">\'.$value.\'</option>\'; //close your tags!!
}

结束

相关推荐

REGISTER_POST_TYPE EXCLUDE_FROM_SEARCH参数不起作用

但是,我有一个使用此代码注册的帖子类型\'exclude_from_search\' => true 似乎没有任何效果,因为我仍然在搜索页面中找到输出。我是不是犯了什么错误?add_action(\'init\', \'abundant_life_slides_register\'); function abundant_life_slides_register() { $args = array( \'label\' => \'Slides\'