将页面标题放入短代码中

时间:2013-04-29 作者:TheWebs

我创建了一个名为[contianer-narrow][/container-narrow] 将您的内容包装在twitter引导类中:.container-narrow 问题是没有包括页面标题。有没有办法说:

if this short code is used, include the page title, else forget it?

2 个回复
SO网友:Johannes Pille

至于你的具体问题:
理论上,你可以在解析这个特定的短代码之前解析检索到的内容,设置一个标志并包装标题。

但是,丢弃短码方法并简单地create a new page template.
(特别是,考虑到对短代码的解析,或至少其结果,无论如何都必须在使用的模板文件中进行)

复制主题的内容page.php 到新文件
叫它page-narrow.php.
通过

<?php
/*
 * Template Name: Narrow Page
 */
?>
并将复制的零件包装到具有所需类的元素中。

SO网友:JMau

我会尝试这样的方法(未测试):

function has_shortcode( $sc = \'\' ) {
    global $wp_query;
    foreach( $wp_query->posts as $post ) {
        if ( ! empty( $sc ) && stripos($post->post_content, \'[\' . $sc) !== false ) {
            return true;
        }
    }
    return false;
}

然后您可以这样使用它:

if ( has_shortcode( \'container-narrow\' ) {}

结束

相关推荐

通过ShortCode属性传递标记

祝大家节日快乐。希望有人能帮助我思考我遇到的问题。我有一个插件Im building,允许用户从maps API中提取地址数据,即它验证地址,如果是业务,则提取标记图标、地址详细信息、web链接等,并构建一个短代码以在前端呈现地图。目前正在构建短代码,并通过tinyMCE模式窗口预览结果。创建地图标记内容(标记信息气泡)是导致我变灰的原因。我希望用户能够添加或操作此块的内容,但最终的结果是相当多的标记。到目前为止,我已尝试通过以下其中一个快捷码属性传递生成的标记:[my_gmaps id=\"map\"