我有以下非常简单的代码:
function load_peoplesoft_results() {
global $wpdb;
echo "<h2>Results</h2>";
}
add_shortcode(\'load_peoplesoft_result_page\', \'load_peoplesoft_results()\');
我将以下内容放在我要显示的页面上:
[load_peoplesoft_result_page]
但当我加载页面时,它只显示上面的内容。我检查了错误日志,得到以下信息:
[22-Jul-2019 10:26:49] PHP Notice: do_shortcode_tag was called <strong>incorrectly</strong>.
Attempting to parse a shortcode without a valid callback:
load_peoplesoft_result_page Please see
<a href="https://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a>
for more information. (This message was added in version 4.3.0.)
in \\wp-includes\\functions.php on line 4231
我还试着把它放在另一个网站的插件中,在那里我实现了一些短代码,这些代码工作正常,但也有同样的问题。不知道发生了什么事。
非常感谢您的任何建议或想法。提前谢谢。
最合适的回答,由SO网友:Jacob Peattie 整理而成
您的快捷码回调函数不正确:
add_shortcode(\'load_peoplesoft_result_page\', \'load_peoplesoft_results()\');
您已包括
()
, 但只应传递函数名:
add_shortcode( \'load_peoplesoft_result_page\', \'load_peoplesoft_results\' );
请注意,的第二个参数
add_shortcode()
是“可调用的”。这是一个标准的PHP特性,您可以阅读它们的文档
here.