在 WordPress 子主题中将 do_shortcode 添加到 printf

Add do_shortcode to printf in WordPress child theme

我正在尝试制作 'Copyright text' 自定义程序字段呈现简码。
该字段通过 footer.php 呈现,因此我可以覆盖子主题中的原始代码。
该代码使用 printf 从定制程序选项中的字段中获取内容输入,如下所示:

<?php printf( wp_kses_post(__( '%s', 'slim' )), Slim_Opt::getOption( 'footer_copyright_text', 'Slim - eCommerce WP Theme' )); ?>

我尝试在 wp_kses_post 周围添加 do_shortcode 以及 printf 的全部内容,但没有成功。
我试过用 echo do_shortcode 替换 printf,但它也没有用。

有没有办法保留此代码以从 Customizer 检索设置值并呈现可能在该值内的任何短代码?

为了使 shortcode 起作用,需要先从定制程序选项对其进行处理 - 或者您可以使用 do_shortcode

输出选项
  1. 无变量选项:
echo do_shortcode( Slim_Opt::getOption( 'footer_copyright_text', 'Slim - eCommerce WP Theme' ) );
  1. 或者,您可以将输出保存在一个变量中:
<?php $footer_option = do_shortcode( Slim_Opt::getOption( 'footer_copyright_text', 'Slim - eCommerce WP Theme' ) ); 
printf( wp_kses_post(__( '%s', 'slim' )), $footer_option ); ?>

两种方法都行,只是取决于你是否希望它传递给 wp_kses_post()