在页眉上添加来自页面内容的短代码,并对页面内容隐藏相同的代码

时间:2013-02-19 作者:user7282

我已经创建了一个页面,并从wp orbit slider中添加了以下短代码

 [orbit-slider category="test"] 
我想要

 [orbit-slider category="test"] 
显示在标题部分,而不是wordpress通常显示的内容区域部分。我尝试在标题上添加短代码。php和它可以工作,但相同的内容也会在内容区域复制。我需要避免这种情况。如何做到这一点?

2 个回复
最合适的回答,由SO网友:Ahmad M 整理而成

这可能对你有用,试着早点the_content 筛选以从中删除短代码标记:

add_filter(\'the_content\', \'ad_filter_the_content\',1,1);
function ad_filter_the_content($content) {
    // specify page id or array of page ids to include
    if (is_page(5)) {
        return str_replace(\'[orbit-slider category="test"]\', \'\', $content);
    }
    return $content;
}

SO网友:fischi

您可以使用PHP调用来生成短代码。其工作原理如下:

echo do_shortcode(\'[orbit-slider category="test"]\');
但我认为,从你的问题来看,每个页面可能有不同的短代码。如果是这种情况,请尝试为页面添加一个自定义字段,其中包含category 用于动态观察滑块。

当然,如果使用内置分类系统(例如标准类别),则不必使用自定义字段,只需使用类别即可。我对Categoryversion使用第一个Caategory-请确保在这里自己处理异常。

// for the custom field version
$orbitcategory = get_post_meta( get_the_ID(), \'my_orbit_slider\', true );
// for the Taxonomy version
$orbitcategory = get_the_category( get_the_ID() );
$orbitcategory = $orbitcategory[0]->name;



$thisslider = \'[orbit-slider category="\' . $orbitcategory . \'"]\';

echo do_shortcode( $thisslider );
你这样应该很好。

记住不要再将您的短代码添加到内容中:)

结束

相关推荐

将数据追加到数据库中的_Content(不使用筛选器)

我的网站要求人们可以搜索标签和类别(城镇和县)中包含的术语。我在使用“Search Everything”插件时遇到了一些资源问题,这导致mysql数据库被锁定,速度大大减慢。我不怪插件,我怪我的共享主机。但是,我想知道是否可以通过简单地将post标记和类别名称附加到\\u内容中来避免使用插件within the database (而不是使用我认为只会在页面上呈现的术语中包含的过滤器),以便in-built WordPress search 然后才能令人满意并找到这些条款。我已经阅读了很多不同的code