如何使用WordPress Customizer API将图像插入主页上的预定义位置?

时间:2015-01-18 19:03:36

标签: php wordpress wordpress-theming

虽然之前我已经开发了自定义WP主题,但这是我第一次开发一个允许客户端通过WP Customizer自定义一些元素的主题。

我已经知道如何启用上传徽标的功能,但我需要另外一种能力,我只是不确定如何实施。

网站的设计需要一个图像网格 - 每行2个,每个3个图像,高度和宽度都相同。客户端非常不懂技术,而不是在编辑器中对其进行硬编码,并希望他们可以更新它而不会弄乱代码,我认为在Customizer面板中有6个上传插槽会更容易,每个图像一个。这样,客户端就可以轻松更新,并且不会有破坏代码的风险。

不幸的是我不知道该怎么做。有人能指点我这样做的教程或代码示例吗?即使该示例是针对单个图像,我也可以根据自己的需要进行推断。

提前致谢!

最佳,

辛西娅

2 个答案:

答案 0 :(得分:1)

我建议使用高级自定义字段。在向编辑器添加自定义字段时,它非常有用,而且部署起来非常快速和简单。

<强>实施

实施后,以下说明应有所帮助:

  1. 从管理导航
  2. 中选择'高级自定义字段'
  3. 选择'添加新'
  4. 命名规则组
  5. 选择'添加字段'
  6. 为新字段添加'字段标签',例如'Image One'
  7. '字段类型'中选择'图片'
  8. '返回值'中选择'图片网址'
  9. 规则中,选择“页面”等于“{{必需页面}}
  10. 'Style'中选择'标准(WP Meta Box)'
  11. 重复步骤 4-9 以添加更多图像框
  12. 选择'发布'
  13. 修改步骤 8
  14. 中指定的页面
  15. 将图片上传到新上传字段
  16. 实施以下 PHP代码段以显示第
  17. 页中的图片

    PHP代码段

    如果您将上面创建的图像字段命名为'image-1','image-2','image-3'等。您可以使用以下循环在前端引入新字段。

    <?php if (have_posts()): while (have_posts()) : the_post();
    for ($x = 0; $x <= 6; $x++) {
        echo '<img src="'.get_field('image-'.$x).'" alt="">';
    } 
    endwhile; else: endif; ?>
    

    我没有测试过上面的代码,所以希望它是正确的= P

    <强>参考

    Advanced Custom Fields - 用于添加自定义CMS属性的Wordpress插件。

答案 1 :(得分:0)

我建议不要使用Customizer,因为它没有计划用于此类用途,并且自定义程序中的所有css和信息都加载到所有页面的标题中。

我为客户执行此操作的方法是设置特定的自定义帖子类型,其中包含元数据中的潜在自定义字段(通常是链接的文本,链接应发送的网址,可能是要显示的顺序)在主页上),并使用图像的正常缩略图,正常标题和文本的正常“内容”。

无需高级插件:)