我试图将ShortCode中的值变为变量,以便在我的模板文件中使用它。我怎么能这样做?
这是我的代码:
在帖子中,短代码:
[reference_prix]1-214eddz[/reference_prix]
我的插件代码:
$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帖子中写入值并在模板文件中显示(或使用它)的最佳做法是什么?
答案 0 :(得分:1)
我认为最佳做法是使用atts参数。
// Add Shortcode
function get_blref_prix( $atts ) {
// Attributes
extract( shortcode_atts(
array(
'bl_reference_prix' => '',
), $atts )
);
}
add_shortcode( 'reference_prix', 'get_blref_prix' );
短代码的用户只需在编辑器中执行以下操作:
[reference_prix bl_reference_prix="some value by the user"]
然后也许您可以尝试使用Options API。使用后添加和删除。
答案 1 :(得分:0)
我已经这样做了,它现在正在工作:
//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”之后!):
while(have_posts()):the_post();
echo the_content();
endwhile;
echo $bl_plugin_refprix;
在帖子中:
[bl_refprix reference="123" up="456"]