我有一个WordPress主题,包含100个不同的模板部分 - 理想情况下,我希望能够根据帖子的自定义字段的值指定要加载的模板部分。即如果帖子的字段值为ABC
,则get_template_part ABC-template.php
。我正在使用高级自定义字段来指定字段。
要获取通常使用的字段值:
<?php the_field('field_name'); ?>
我尝试了一些
的方法<?php $var = get_post_meta($post->ID, 'field_name', true);
if ($var == '')
{ }
else { get_template_part( "subdirectory/' . $var . '", "form" );} ?>
但这不起作用。有关检索自定义字段值然后使用get_template_part?
加载相关模板部分的任何想法我知道我可以在理论上使用in_category函数来实现这一点 - 但是认为必须循环遍历100的“如果发布in_category ABC加载ABC模板,如果发布in_category DEF加载DEF模板”每次加载后可能把网站放慢一点?
非常感谢您,非常感谢您提供的任何帮助:)
编辑:我已经解决了(试错了,我对PHP很垃圾!)
您需要以下内容:
<?php
$fieldname = get_field('fieldname');
get_template_part('subdirectory/' . $fieldname ); ?>
如果您在自定义字段中存储了ABC-DEF,则会在子目录/ ABC-DEF.php中加载模板
希望这有助于某人:)