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

问题描述 投票:1回答:1

我正在尝试使“版权文本”定制程序字段呈现简码。该字段通过footer.php呈现,因此我可以覆盖子主题中的原始代码。该代码使用printf来从Customizer选项中的字段中获取内容输入,如下所示:

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

我已经尝试在wp_kses_post周围以及printf的所有内容周围添加do_shortcode,但是没有用。我试过用echo do_shortcode替换printf,但也没有用。

是否可以保留此代码以从Customizer检索设置值并呈现该值内的任何短代码?

php wordpress shortcode wordpress-shortcode
1个回答
1
投票

为了使shortcode工作,首先需要从定制程序选项中对其进行处理-或者您可以仅使用do_shortcode输出该选项>

  1. 无变量选项:
  2. echo do_shortcode( Slim_Opt::getOption( 'footer_copyright_text', 'Slim - eCommerce WP Theme' ) );
    
  1. 或者,您可以将输出保存在变量中:
  2. <?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()

© www.soinside.com 2019 - 2024. All rights reserved.