我有一个正在运行的短代码,显示的问题是它跳到了页面的顶部。如果在页面编辑器中有任何文本或其他短代码在其上方,它们将显示在前端的此短代码下方。
add_shortcode(\'shortcode_exsample\', \'shortcode_name\');
function shortcode_name(){
return require_once ( plugin_dir_path(__FILE__) . \'/shortcode_file.php\');;
};
中大约有259行HTML
shortcode_file.php
这就是我这样做的原因,而不仅仅是把它放在函数中。
任何关于为什么会发生这种情况的想法都会很好。非常感谢。
最合适的回答,由SO网友:darrinb 整理而成
短代码应该返回内容,而不是回显。所以如果你的shortcode_file.php
文件是纯html,它被认为是回送的。
如果是这样的话,您可以这样做:
function shortcode_name(){
ob_start();
require_once ( plugin_dir_path(__FILE__) . \'/shortcode_file.php\');
$content = ob_get_clean();
return $content;
};