首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress : ShortCode和变量

Wordpress : ShortCode和变量
EN

Stack Overflow用户
提问于 2014-04-30 06:57:24
回答 2查看 360关注 0票数 0

我正在尝试将ShortCode中的值转换为变量,以便在模板文件中使用它。我该怎么做呢?

下面是我的代码:

在帖子中,简短的代码如下:

代码语言:javascript
复制
[reference_prix]1-214eddz[/reference_prix]

我的插件代码:

代码语言:javascript
复制
$bl_reference_prix = "";
add_shortcode('reference_prix', 'get_blref_prix');
function get_blref_prix( $atts, $reference = null ) { 
    global $bl_reference_prix;
    $bl_reference_prix = $reference;
}

但是$bl_reference_prix仍然是空的。

我尝试过$GLOBAL[],但我也遇到了同样的问题。

获取用户在wordpress帖子中写入的值并在模板文件中显示(或使用它)的最佳实践是什么?

EN

回答 2

Stack Overflow用户

发布于 2014-04-30 12:36:59

我认为最佳实践是使用atts参数。

代码语言:javascript
复制
// Add Shortcode
function get_blref_prix( $atts ) {

    // Attributes
    extract( shortcode_atts(
        array(
            'bl_reference_prix' => '',
        ), $atts )
    );
}
add_shortcode( 'reference_prix', 'get_blref_prix' );

使用短码的用户只需在编辑器中执行以下操作:

代码语言:javascript
复制
[reference_prix bl_reference_prix="some value by the user"]

然后也许你可以尝试使用Options API。使用后添加和删除。

票数 1
EN

Stack Overflow用户

发布于 2014-05-01 05:27:35

我已经这样做了,它现在的工作方式是:

代码语言:javascript
复制
//Plugin
function get_blref_prix( $atts ) {
    global $bl_plugin_refprix, $bl_plugin_refprix_up;
    // Attributes
    extract( shortcode_atts(
        array(
            'reference' => '',
            'up' => '',
        ), $atts )
    );

    $bl_plugin_refprix = $reference;
    $bl_plugin_refprix_up = $up;

}
add_shortcode( 'bl_refprix', 'get_blref_prix' );

在模板文件中(重要:在函数“the_content”之后!):

代码语言:javascript
复制
while(have_posts()):the_post();
    echo the_content();
endwhile;

echo $bl_plugin_refprix;

在《华盛顿邮报》:

代码语言:javascript
复制
[bl_refprix reference="123" up="456"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23376775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档