我正在尝试进行自定义URL重写,但遇到问题。
我有一个名为“Program”的页面,它使用自定义查询列出一个名为“event”的帖子类型。我想在url中传递一个月和日变量,例如。/programme/09/31
然后,我将使用月/日变量来更新自定义查询。(由于事件跨越多天,“事件”的内置存档将无法工作)。
当前尝试将重写结果添加到404中。我可以使用内置的“m”和“d”变量,还是需要注册新的URL变量?
谢谢
伊恩。
我正在尝试进行自定义URL重写,但遇到问题。
我有一个名为“Program”的页面,它使用自定义查询列出一个名为“event”的帖子类型。我想在url中传递一个月和日变量,例如。/programme/09/31
然后,我将使用月/日变量来更新自定义查询。(由于事件跨越多天,“事件”的内置存档将无法工作)。
当前尝试将重写结果添加到404中。我可以使用内置的“m”和“d”变量,还是需要注册新的URL变量?
谢谢
伊恩。
您需要在theme中添加以下两个函数functions.php
或者在插件的php文件中
function func_rewrites_init(){
add_rewrite_rule(
\'programme/(\\d+)/(\\d+)/?$\',
\'index.php?pagename=programme&pmonth=$matches[1]&pdate=$matches[2]\',
\'top\' );
}
add_action(\'init\', \'func_rewrites_init\');
function func_query_vars( $query_vars ){
$query_vars[] = \'pmonth\';
$query_vars[] = \'pdate\';
return $query_vars;
}
add_filter( \'query_vars\', \'func_query_vars\' );
pagename
上述代码中的值必须符合模板名称。如果你有Page
带slugprogramme
模板名称将为page-programme.php
. 在该模板文件中,您可以访问月份和日期$pmonth = get_query_var(\'pmonth\');
$pdate = get_query_var(\'pdate\');
一件重要的事情doc:重要提示:修改规则后,不要忘记刷新和重新生成重写规则数据库。从WordPress管理屏幕中,选择设置->永久链接,只需单击保存更改而不做任何更改。
我正试图建立一个多供应商联盟网站。我想知道如何在用户登录时识别用户类型(如供应商、客户),以便我可以隐藏一些页面,例如供应商仪表板。