处理父页面上的所有虚拟子页

时间:2016-02-04 作者:user2511140

我的父页面:http://example.com/id

虚拟页面包括:

  • http://example.com/id/1563
  • http://example.com/id/john/5896
  • http://example.com/id/jack-miami/3054
我在parent page 从URL获取id号,然后显示结果。

现在,以上所有页面都显示404个错误。是否可以使用父页面显示包含示例的链接的所有页面。com/id/

我使用了这个,但它不起作用:

function edit_the_permalink($url){
    if(strpos($url, get_site_url().\'/id/\') !== false){
        $url = get_site_url().\'/id/\';
    }
    return $url;
}
add_filter(\'the_permalink\', \'edit_the_permalink\');

1 个回复
SO网友:MediaFormat

add_filter(\'the_permalink\'), 是工作的错误工具,它让你full permalink 对于当前帖子或特定帖子ID。

似乎正确的方法是使用重写规则:

add_filter(\'query_vars\', function($vars){
      $vars[] = \'id\';
      return $vars;
});
add_rewrite_rule(\'id\\/([\\w\\-]+)\\/?\', \'index.php?id=$matches[1]\', \'top\');
警告:我还没试过这个,而且id 可能是重写规则中的保留名称。

但是,这是从真实父页面获取虚拟子页面的一般思路。

相关推荐

如何用php/Filters生成ALT属性?

我想生成一些自动alt 如果图像没有alt 设置找到了此代码,但由于某些原因无法工作:function add_alt_tags($content) { global $post; preg_match_all(\'/<img (.*?)\\/>/\', $content, $images); if(!is_null($images)) { foreach($images[1] as $index