我正在尝试为我的2个主题选项创建一个快捷码。基本上,我想把我的主题选项抓取到我的快捷码中,这样我就可以在帖子的任何地方显示它们,比如:
[ads_1] [ads_2]
然而,当我试图在我的短代码上获得选项时,它根本不起作用,并且给了我一个错误
分析错误:语法错误,C:\\xampp\\htdocs\\themewp\\wp content\\themes\\bots\\u final\\shortcode中出现意外的“theme\\u设置”(T\\u字符串)。php第86行
以下是我的短代码片段,在中,我试图获取我的主题选项数据:
add_shortcode(\'ads_1\', function($atts){
return \'
<div>
<?php $options = get_option( \'theme_settings\' ); ?>
<?php echo $options[\'banner1\']; ?>
</div>\';
});
我正在尝试从我的主题选项页面中获取选项。检查我的主题选项代码:
<div>
<?php $options = get_option( \'theme_settings\' ); ?>
<?php echo $options[\'banner1\']; ?>
</div>
你知道我拿不到它有什么问题吗?
最合适的回答,由SO网友:Pieter Goosen 整理而成
首先,永远不要使用匿名函数,永远不要。匿名函数以后不能通过插件或主题删除
其次,看看Shortcode API 关于如何正确创建短代码。
第三,这不是wordpress特有的问题,而是纯粹的php问题。您将html和php一起使用,但没有正确的语法来区分html和php。这是您的短码函数,假设它是一个
add_shortcode(\'ads_1\', \'my_shortcode\' );
function my_shortcode($atts){
$options = get_option( \'theme_settings\' );
$output = \'<div>\' . $options[\'banner1\'] . \'</div>\';
return $output;
}