我在WordPress中有以下代码,以便尝试使用esc_url(get_permalink() . '?month=' . get_query_var('month'));
的一个阶段。
为了更多地了解WordPress并创建一个允许我在需要时添加更多值的类,我创建了以下类并将其链接到query_vars过滤器:
//Create the needed GET vars //
$custom_query_values = array('month','day');
new _custom_query_vars($custom_query_values);
class _custom_query_vars
{
public $_custom_vars;
function __construct($custom_vars){
$this->_custom_vars = $custom_vars;
add_filter('query_vars',array(&$this, '_add_custom_querys'));
}
public function _add_custom_querys(){
// Return an array of values //
foreach($this->_custom_vars as $value)
{
$vars[] = $value;
}
print_r($vars);
return $vars;
}
}
/*function add_custom_query_var( $vars ){
$vars[] = "month";
$vars[] = "day";
return $vars;
}
add_filter( 'query_vars', 'add_custom_query_var' ); */
上面的代码不起作用,相反,当类处于活动状态时,当我创建一个新实例时,我网站上的所有页面都将停止工作,我将简单地定向到我的根地址。然而,功能"似乎"因为print_r()
确实会打印Array ( [0] => month [1] => day )
的值,所以该方法必须以某种形式或形式传递给query_var钩子。
注释掉的代码的第二部分是我尝试简单地返回静态值的标准函数。这工作并使用正常的esc_url(get_permalink() . '?month=' . get_query_var('month'));
按预期工作。有任何想法吗? (最后一件事,有没有办法制作这个http://www.sitename/pagename/month
)。
感谢您提供任何帮助,
答案 0 :(得分:0)
我不确定但是试试这个。
public function _add_custom_querys(){
$vars = Array();
foreach($this->_custom_vars as $value){
array_push($vars,$value);
}
return $vars;
}