Wordpress get_template_part基于自定义字段

时间:2016-10-16 09:21:31

标签: php wordpress

我有一个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中加载模板

希望这有助于某人:)

0 个答案:

没有答案