用快捷码换行模板代码

时间:2021-11-16 作者:Grant Smith

我的一个客户希望使用这个插件Content Locker. 所讨论的模板没有客户端可以使用的内容区域,因此我需要使用do_shortcode 作用

我知道如何实施但不接近?

<?php do_shortcode(\'[signinlocker id="506"]\'); ?>
  <div class="column">
    <div class="columns resource_downloads">
    <?php if ( have_rows(\'_downloads_group\') ) : ?>
    <?php while( have_rows(\'_downloads_group\') ) : the_row(); ?>
      <div class="column v-align-top">
        <figure class="download__img outer-1by1">
          <img class="inner-1by1" src="<?php echo wp_get_attachment_image_src( get_sub_field(\'_file_image\'), \'download\' )[0]; ?>" alt="<?php the_field(\'_file_image_alt\'); ?>" width="150" height="150">
        </figure>
        <div class="resource_downloads-info stack__sm">
          <h3><?php the_sub_field(\'_file_title\'); ?></h3>
          <p><?php the_sub_field(\'_file_description\'); ?></p>
        </div>
        <div class="btn-wrap">
         <a class="button primary" href="<?php the_sub_field(\'_file_download_button\'); ?>" title="<?php the_sub_field(\'_file_download_button_title\'); ?>"><?php the_sub_field(\'_file_download_button_label\'); ?></a>
        </div>
      </div>
    <?php endwhile; ?>
    <?php endif; ?>
  </div>
</div>
<?php do_shortcode(\'[/signinlocker]\'); ?> // This is not correct?
“我有太多了”;“内容”;要使用echo do_shortcode( \'[iscorrect]\' . $text_to_be_wrapped_in_shortcode . \'[/iscorrect]\' ); WordPress文档中的示例。

“我怎么能”;“包装”;必要的代码[signinlocker id="506"] 短代码。

1 个回复
SO网友:Buttered_Toast

在这种情况下,使用输出缓冲似乎是一种方法,ob_start() 开始缓冲,然后ob_get_clean() 获取并清理缓冲区。

<?php ob_start(); ?>
  <div class="column">
    <div class="columns resource_downloads">
    <?php if ( have_rows(\'_downloads_group\') ) : ?>
    <?php while( have_rows(\'_downloads_group\') ) : the_row(); ?>
      <div class="column v-align-top">
        <figure class="download__img outer-1by1">
          <img class="inner-1by1" src="<?php echo wp_get_attachment_image_src( get_sub_field(\'_file_image\'), \'download\' )[0]; ?>" alt="<?php the_field(\'_file_image_alt\'); ?>" width="150" height="150">
        </figure>
        <div class="resource_downloads-info stack__sm">
          <h3><?php the_sub_field(\'_file_title\'); ?></h3>
          <p><?php the_sub_field(\'_file_description\'); ?></p>
        </div>
        <div class="btn-wrap">
         <a class="button primary" href="<?php the_sub_field(\'_file_download_button\'); ?>" title="<?php the_sub_field(\'_file_download_button_title\'); ?>"><?php the_sub_field(\'_file_download_button_label\'); ?></a>
        </div>
      </div>
    <?php endwhile; ?>
    <?php endif; ?>
  </div>
</div>
<?php
$output = ob_get_clean();
echo do_shortcode(\'[signinlocker id="506"]\' . $output . \'[/signinlocker]\');
?>

相关推荐

列出短码(DO_SHORTCODE)中的分类术语段

我想在我的短代码中列出分类术语。这是我获取术语列表的方式(用逗号分隔):<?php $terms = get_the_terms( $post->ID , array( \'shoptype\' ) ); $i = 1; foreach ( $terms as $term ) { $term_link = get_term_link( $ter