在我的插件中,我添加了显示数据库数据的短代码,并添加了一些按钮。按下按钮后,页面末尾会显示更多数据。当短代码中没有添加任何属性时,这种方法非常有效,但如果添加了属性,则在按下按钮后,所有文本都会消失。
为什么添加属性似乎会删除我的短代码信息?
它看起来是这样的:
function my_plugin(){
print "HTML-button + hidden_value";
if ( isset( $_POST["button_is_pressed"] ) ) {
print do_shortcode($the_shortcode + attributes based on hidden value);
}
}
add_shortcode(\'my_shortcode\', \'my_shortcode_function\');
function my_shortcode_function(){
print "A lot of database data + button";
if ( isset( $_POST["shortcode_button_is_pressed"] ) ) {
print "Even more database data";
}
}
因此,当我向短代码添加属性时,短代码显示的信息消失了。如果没有添加属性,“大量数据库数据”+“更多数据库数据”将毫无问题地显示出来。为什么属性会有这种差异?
This was added later:现在,当我将“print”替换为字符串的返回(未显示)时,代码不工作似乎完全合乎逻辑,因为返回语句退出了shortcode函数。
但是,当按下快捷键时,如何显示额外的信息?此时,短代码的执行已经完成。