自定义摘要参数/模板覆盖

时间:2011-09-07 作者:Brian Hogg

我对Wordpress开发相对较新,正在寻找通过使用Wordpress插件来定制特定javascript应用程序输出的最佳方法,该应用程序将动态拉入内容。

我可以通过重写提要模板来完成大部分需要做的事情,允许按搜索词、标记和类别进行自定义输出。然而,在默认情况下,获取feed的单个帖子(即使用p=或page\\u id=查询变量)似乎不是一个选项。

创建自定义输出帖子/页面输出的最佳、最干净的方法(即冲突最少)是什么?只需添加一个新的query\\u var过滤器并挂接到parse\\u请求中,以某种方式为提要添加新的query vars,或者使用其他方法覆盖插件代码中内容的模板?

谢谢

3 个回复
最合适的回答,由SO网友:Brian Hogg 整理而成

看起来这样就成功了template_redirect 插件中的挂钩:

function my_app_request() {
    global $wp_query;

    if ( array_key_exists(\'mycustomvar\', $wp_query->query_vars ) )
    {
        include( dirname( __FILE__ ) . \'/templates/content-single.php\' );
        exit;
    }
}

add_action(\'template_redirect\', \'my_app_request\');

function my_query_vars($vars) {
    $vars[] = \'mycustomvar\';
    return $vars;
}

add_filter(\'query_vars\', \'my_query_vars\');
并从内容单一。php我可以根据需要设置格式:

<?php
echo json_encode(array(\'title\'=>get_the_title()));
// ...
现在,任何有效的url都可以mycustomvar=1 (或类似)附加到url上,瞧,加载的内容无需手动解析ppage_id 查询变量。看起来比使用parse_request

如果有更好/更干净的方法来完成上述工作,请让我知道!

SO网友:Rarst

我是否正确理解您需要从JavaScript代码中的WP提取信息?

在这种情况下,使用WP的Ajax处理程序是合适的。看见AJAX in Plugins 在法典中。

如果本机提要非常接近您需要的内容,另一个选项是向注册自定义提要add_feed() 并将其与自定义模板或带有微调的本地提要模板一起使用。

SO网友:anmari

我在feed中使用所有标准wp查询参数都没有问题,因此p=single post选项也没有问题。

看见http://test.icalevents.com/ical-feeds/向下滚动-有一个名为“7月圣诞节”的单独帖子提要示例(在本例中为事件自定义帖子类型,但同样的原则适用),它为该提要提取单个帖子。

也许你需要重新审视你的代码以及你是如何做到的。在本例中,插件允许正常的wp\\U查询操作,并为查询添加一些过滤器。

结束

相关推荐

Mixing Tweets with Posts

我有一个客户希望他们的博客按时间顺序显示帖子和推文。这些应混合到同一饲料中。我没有找到任何插件可以实现这一点,尽管可能有一个插件我错过了,有人可以推荐。我想拉推并将其存储为自定义帖子类型,然后在显示时拉两种帖子类型,但推特的TOS不允许存储数据。我看到的唯一选择是在页面加载时拉推,然后编写一个自定义函数按时间顺序合并这两条推,这似乎需要一些工作。此外,就缓存推文而言,考虑到推文不允许存储这些信息,我该怎么做呢?有没有人对实现这一目标的最佳方法提出建议?也是最高效的?提前感谢。