仍在学习 WordPress 并尝试向使用相同自定义模板的页面添加不同的短代码。
使用这个短代码示例,我可以将其放置在模板文件中我需要的位置:
<?php echo do_shortcode('[shortcode]');?>
问题是我需要生成多个页面,每个页面都有自己独特的短代码。我的“障碍”是;
我相信有一种方法可以在子主题的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; ?>
我是初学者,不知道该怎么做,希望向这里的专家学习。
您走在正确的道路上!要在共享相同自定义模板的多个页面上使用不同的短代码,您确实可以利用“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”执行它。现在,您可以使用自定义字段为每个页面分配唯一的短代码,从而使您可以灵活地在具有相同模板的页面上使用不同的短代码。