如何解决页面/文章/详情页需要不同样式、模板的问题?
遇到一个客户,他的需求是在产品详情页有5套不同的模板,需要在后台自己可以选择不同模板,填写不同的内容。
一开始知道这个需求很懵,后来我理清楚了思路,解决了这个问题:
-
首先通过ACF插件Seclect的单选按钮,填写5个参数
(注: 参数' : '前后需要有空格)
-
通过ACF插件的组来写5个模板(组下面填写不同的自定义字段)
注:
(1)需要填写判断(条件逻辑)
(2)其中每个模板Group里面的说明最好加上模板图片样式,例如<img src="/wp-admin/images/sj.png" width="50%" height="auto">
这么做的目的,是客户知道这是哪个模板样式,呈现的效果如下。
3.然后创建5个php,命名规避page,single等等自带的命名方式,里面填写各自模板样式和参数。
5.最后在single-products.php里面,加一个判断:
<?php if( get_field('select') == 'one' ): ?>
<?php include 'product-content1.php'; ?>
<?php endif; ?>
<?php if( get_field('select') == 'two' ): ?>
<?php include 'product-content2.php'; ?>
<?php endif; ?>
<?php if( get_field('select') == 'three' ): ?>
<?php include 'product-content3.php'; ?>
<?php endif; ?>
<?php if( get_field('select') == 'four' ): ?>
<?php include 'product-content4.php'; ?>
<?php endif; ?>
<?php if( get_field('select') == 'five' ): ?>
<?php include 'product-content5.php'; ?>
<?php endif; ?>
其中的one,two... 来自ACF插件Seclect的单选按钮前面的参数