是否存在与哪个短代码相关的依赖项?
[news_weber][/news_weber]
→ 不起作用,但与一起使用时do_shortcode
它起作用的方法。
我已安装Ultimate shortcode plugin 检查是否有效。该插件的所有短代码都能正常工作,奇怪的是,一旦安装了该插件,我的自定义短代码也能正常工作,一旦卸载,我的自定义短代码就停止工作。连接是什么?
是否有任何依赖项没有包含在我的主题中,并且一旦安装了第三方插件,它们就会被包括在内?
更新→如果在post(edit mode) editor
, 它还可以与do_shortcode
方法,但当我们使用默认文本小部件并将我们的快捷码放在那里时,它不起作用。然而,如果我们像我上面告诉你的那样安装插件,它也可以在这里工作
what is the issue?
更新2:代码→
function burner() {
ob_start();
$random=rand(1,10000);
?>
//some code
<?php
return ob_get_clean();
}
add_shortcode(\'news_burner\', \'burner\');
更新3短代码是插件领域,所以我将它们转移到插件中,但同样的问题是它们不起作用,但当我安装上述第三方插件时,它们确实起作用。
SO网友:Patrice Poliquin
根据您的问题和我对您问题的理解,您必须确保从函数文件中调用了您的短代码。
首先,你需要写<?php echo do_shortcode("[news_weber]"); ?>
为了让它通过PHP工作。基于您的问题,我认为您不需要右括号,因为短代码可以自动关闭。
文件:https://developer.wordpress.org/reference/functions/do_shortcode/
但是,即使您键入了正确的代码,您仍然需要在函数文件中授予对该短代码的访问权限。
您可以创建一个名为shortcodes.php
从你的functions.php
文件
if ( ! function_exists( \'my_theme_setup\' ) ) :
function my_theme_setup() {
// Custom shortcodes
require_once( "inc/shortcodes.php" );
}
endif;
add_action( "after_setup_theme", "my_theme_setup" );
在你的
shortcode.php
可以调用函数的文件。
function news_weber_func( $atts ) {
// Your custom code
}
add_shortcode( \'news_weber\', \'news_weber_func\' );
官方文件:
https://codex.wordpress.org/Function_Reference/add_shortcode我希望这对你有帮助。