创建内含php代码的wordpress快捷代码

时间:2017-07-18 作者:Vektor Unbreakable

我正在使用visual composer和自定义字段。我有PHP中insert direct的代码,但我不能为此创建短代码。

<div id="search-nacionalidad"><p class="<?php the_field(\'nacionalidad\'); ?> noselect" title="<?php the_field(\'nacionalidad\'); ?>" alt="<?php the_field(\'nacionalidad\'); ?>"><?php the_field(\'nacionalidad\'); ?></p></div>
我怎样才能为此编写一个短代码?

谢谢

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

创建一个短代码相当简单,它只需要一个短代码名称和一些参数。这里有一个简单的例子:

add_shortcode(\'my-shortcode\',\'my_shortcode_function\');
function my_shortcode_function(){ 
    return \'<div id="search-nacionalidad"><p class="\'. get_field(\'nacionalidad\').\' noselect" title="\'.get_field(\'nacionalidad\').\'" alt="\'. get_field(\'nacionalidad\').\'">\'.get_field(\'nacionalidad\').\'</p></div>\';
}
现在,使用[my-shortcode] 完全符合代码的功能。然而,我不确定您如何使用它,无论是否在循环中。如果还需要传递帖子的ID,则需要使用属性。看看这个:

add_shortcode(\'my-shortcode\',\'my_shortcode_function\');
function my_shortcode_function($atts){ 
    $atts = shortcode_atts( array(
        \'id\' => \'0\',
    ), $atts, \'my-shortcode\' );
    $id = $atts[\'id\'];
    return \'<div id="search-nacionalidad"><p class="\'. get_the_field(\'nacionalidad\',$id).\' noselect" title="\'.get_the_field(\'nacionalidad\',$id).\'" alt="\'. get_the_field(\'nacionalidad\',$id).\'">\'.get_the_field(\'nacionalidad\',$id).\'</p></div>\';
}
现在如果您使用[my-shortcode id="123"] 它将为ID为123的帖子执行代码。如果未提供ID,则将使用默认ID 0。

结束

相关推荐

Use WP_Query in shortcode

我正在尝试从前四篇文章中获取元信息,这些文章的元键等于Sedan,然后对这些文章的元进行格式化,以便设置图库类型的显示框。我相信这与我的方法有关,因为我仍处于学习曲线的陡峭部分。如有任何意见、建议或回答,将不胜感激。使用此代码,我试图生成的HTML不会显示在前端。好像我什么都没做似的。add_shortcode(\'sedan-tabs\',\'build_sedan_tabs\'); function build_sedan_tabs(){ $args1 = array(