如何在多个自定义模板页面上使用简码

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

仍在学习 WordPress 并尝试向使用相同自定义模板的页面添加不同的短代码。

使用这个短代码示例,我可以将其放置在模板文件中我需要的位置:

<?php echo do_shortcode('[shortcode]');?>

问题是我需要生成多个页面,每个页面都有自己独特的短代码。我的“障碍”是;

  • 无法在文本编辑器中使用短代码,因为它无法识别模板内容
  • 无法使用 Elementor 添加,因为模板区域是固定的
  • 如何指定页面的哪一部分显示短代码

我相信有一种方法可以在子主题的functions.php文件中使用带有过滤器钩子的do_shortcode,如下所示;

<?php if ( have_posts() ):
  while ( have_posts() ): the_post();
    if ( get_the_content() !== '' ):
      echo do_shortcode( get_the_content() );
    endif; 
  endwhile;
endif; ?>

我是初学者,不知道该怎么做,希望向这里的专家学习。

php wordpress shortcode
1个回答
0
投票

您走在正确的道路上!要在共享相同自定义模板的多个页面上使用不同的短代码,您确实可以利用“do_shortcode”函数以及自定义字段或发布元数据。以下是如何实现此目标的基本示例:

在您的 WordPress 管理员中,为您想要使用不同短代码的每个页面创建一个自定义字段(例如短代码)。 在您的自定义模板文件中,使用“get_post_meta”从自定义字段中检索短代码:

<?php
$custom_shortcode = get_post_meta(get_the_ID(), 'shortcode', true);
if (!empty($custom_shortcode)) {
    echo do_shortcode($custom_shortcode);
}
?>

此代码将从自定义字段中获取特定于每个页面的短代码并使用“do_shortcode”执行它。现在,您可以使用自定义字段为每个页面分配唯一的短代码,从而使您可以灵活地在具有相同模板的页面上使用不同的短代码。

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