一个帖子有两个活动模板

时间:2013-08-22 作者:Ionut Ionut

我想要

  • example.com/post-name -> 使用模板1。php

  • example.com/post-name/details -> 使用模板2。php

    我发现this discussion, 所以我在我的主题中实现了代码functions.php. 我也对以前的答复进行了更改,但我收到了此错误

    警告:call\\u user\\u func\\u array()要求参数1为有效回调,在/public\\u html/wp includes/plugin中找不到函数“detail\\u rewrite\\u rules”,或函数名无效。php在线173

    我没有编辑plugin.php 第173行是:

    $value = call_user_func_array($the_[\'function\'], array_slice($args, 1, (int) $the_[\'accepted_args\']));
    
    我希望有人能帮助我,这似乎是一项相当容易的工作,但我可能错了。

1 个回复
SO网友:JMau

如果查看函数,您将看到有一个错误:

function detail_rewrite_rule( $rules ) {
  $newrules = array();
  $newrules[\'(.+?)/([^/]+)(/[0-9]+)?/detail/?$\'] = \'index.php?category_name=$matches[1]&name=$matches[2]&page=$matches[3]&detail=1\'; 

  return $newrules + $rules;
}
add_filter( \'rewrite_rules_array\',\'detail_rewrite_rules\' );
回调不同:detail_rewrite_rule, detail_rewrite_rules.

在add\\u过滤器中,必须为函数提供相同的名称。否则,这将不会被WordPress钩住。因此,您可以通过以下方式进行修复:

add_filter( \'rewrite_rules_array\',\'detail_rewrite_rule\' );//without the s

结束

相关推荐

Sub category templates

我继承了一个Wordpress网站,我的公司在我开始在这里工作之前就建立了这个网站。我会去问建造它的人这个问题,但他现在已经离开了公司。我的查询与wordpress类别的自定义模板相关。我知道您可以创建一个名为“类别-”的模板文件。当访问该类别时,它将使用该自定义模板。在本例中,该文件称为“category limousin magazine”。php\'这很好——我的问题涉及到这个类别的子类别,即在《利木赞》杂志下,我有2011、2010、2009、2008、2007和2006个类别。不知何故,在建立网