嘿,我很沮丧,被问了又问,似乎找不到答案。请帮帮我,我会把我的问题清理干净的。我会给能帮忙的人几百只熊:)
我安装了一个博客http://www.myblog.com - it\'s part of a network, I use wordpress multisite
I created a table called cars 有60行-it\'s not a wordpress table, 这是我自己的自定义表,但我已经在wordpress数据库中创建了它。关于我的博客主题,编辑索引。php,我显示表中的记录cars, 每页10行,我编写了一个自定义分页脚本,与我的wordpress分页没有任何关系。
现在我有以下链接:
www.myblog。com/index。php?当前页面=1 www.myblog。com/index。php?当前页=2,依此类推,直到
www.myblog。com/index。php?当前页=6
如何将它们重写为非常友好的链接?
Ideea one: 由于它们实际上与wordpress博客无关,我应该编辑htaccess吗?我相信wordpress。htacces规则覆盖我在其中放置的任何自定义规则。。。如果您知道解决方案,请分享。。。
Ideea two: 尝试使用wordpress规则和已编辑的函数。php如此,运气不佳:
add_action( \'init\', \'wpa5413_init\' );
function wpa5413_init() {
add_rewrite_rule(
\'^/\\?currentpage/(\\d*)$\',
\'index.php?currentpage=$matches[1]\',
\'top\' );
}
add_filter(\'query_vars\', \'wpa3537_query_vars\');
function wpa3537_query_vars($query_vars) {
$query_vars[] = \'currentpage\';
return $query_vars;
}
Please help me, honestly, I can even pay, I am soo frustraed... doing this work after my dayjob, it\'s been days of not sleeping, just need to make this happen, pleaseeeeeeeeeeeeeeeee
PS不要否决我的问题,我看到其他人也在为类似的问题争吵
最合适的回答,由SO网友:Jan Fabry 整理而成
重写规则不能以已删除的第一个斜杠开始。因此,下面的代码将添加一个重写规则,该规则将设置我们以后可以使用的查询变量:
add_action( \'init\', \'wpse9016_init\' );
function wpse9016_init()
{
add_rewrite_rule( \'currentpage/(\\d+)/?\', \'index.php?wpse9016_currentpage=$matches[1]\', \'top\' );
}
此查询变量将被忽略,除非我们将其添加到公共查询变量列表中:
add_action( \'query_vars\', \'wpse9016_query_vars\' );
function wpse9016_query_vars( $query_vars )
{
$query_vars[] = \'wpse9016_currentpage\';
return $query_vars;
}
完成此操作后,您可以检查它,并在设置时执行任何您想要的操作。常用方法是加载特定模板文件:
add_filter( \'template_include\', \'wpse9016_template_include\' );
function wpse9016_template_include( $template )
{
if ( get_query_var( \'wpse9016_currentpage\' ) ) {
$template = locate_template( array( \'wpse9016_template.php\' ) );
}
return $template;
}
现在,如果你去
http://www.example.com/currentpage/2/
, 文件
wpse9016_template.php
将在您的主题目录中加载,您可以在其中阅读
get_query_var( \'wpse9016_currentpage\' )
获取当前页码。