用 WordPress 做企业网站或者任何其它类型的网站,我们得先考虑下怎么样去组织和管理内容,内容可以是文字,图像,文件,音频,视频 ... WordPress 允许我们创建内容类型,每个内容类型可以放不同的内容,组织这些内容的方法就是分类法,分类法可以是分类(拥有层级关系),或者标签。
网站可能会出现的内容类型
- 新闻
- 关于
- 产品
公司新闻经常更新,可以把这些内容放在 WordPress 默认的文章(post)里存储,关于是一些关于公司的内容,比如公司介绍,联系方式这些静态的不怎么更新的东西放在 WordPress 默认的页面(page)里存储。
然后我们单独为产品创建一个内容类型,因为产品可能需要用到一些自定义字段,比如产品的型号,颜色,重量等等,创建自定义内容类型和字段可以使用 WordPress 的 Pods 插件,也可以使用在主题的 functions.php 文件里添加代码来创建内容类型的方法,这种方法在 《 WordPress 自定义内容类型 》里进过。
创建自定义内容类型
这里我们使用 Pods 插件来创建和管理自定义的内容类型,分类法,还有字段。先去安装 Pods 插件。然后:
- 打开 Pods 管理,还没有创建 Pods 之前,可以直接看到创建或扩展的界面,点击 创建新的。
- 内容类型 选择 自定义内容类型,这会创建像默认的文章或页面一样的内容类型。
- 输入单项标签和复项标签,对于中文来说没有单复数之分,可以使用同样的标签,比如 产品。
- 点开 高级 ,然后输入 识别符,这个识别符是内部程序使用的,所以必须使用字母来定义,比如 product。
- 点击 下一步,可以进一步编辑这个内容类型,你可以为它添加字段,也可以修改各项标签上的文字,还有一些高级设置。
- 完成以后,点击 Save Pod。
完成以后,你会在管理边栏菜单上,看到 产品 菜单,点击打开,可以添加,管理产品内容。
创建自定义分类法
你可以为新创建的 产品 这个内容类型分配使用分类的方法,可以使用 WordPress 默认的两个方法,分类或标签,在 产品 这个 Pod 的 高级选项 里,可以勾选使用的分类法。或者,我们可以去创建新的分类方法,然后分配给 产品 这个内容类型。方法是:
- 打开 Pods 管理,点击 添加,选择 创建新的。
- 内容类型 选择 自定义分类法。
- 比如我们要创建一个叫 类型 的分类方法。所以 单项和复项标签,可以输入 类型。
- 打开 高级,在识别符里输入使用字母定义的分类方法的内部程序名称,比如 type。
- 点击 下一步。修改各种配置,完成以后,点击 Save Pod。
这样我们就有了一种新的分类方法,也就是 类型。你可以找到之前创建的 产品 内容类型,在 高级选项 里,勾选一下 类型 这个分类法,这样在发布 产品 内容的时候,就可能同时使用 类型 这个分类法来分类产品内容了。
为内容类型添加额外的字段
内容类型默认会有标题和主体文字字段,你可以添加新的字段到内容类型上,比如可以添加上传图像的字段,可以输入新的内容的文本字段,可以选择日期或颜色的字段等等。为 WordPress 的内容类型添加字段的方法是:
- 打开 Pods 管理,编辑一下你想添加字段的内容类型,比如之前创建的 产品 这个内容类型。
- 在 管理字段 选项卡中,点击 添加字段。
- 输入字段的标签,比如添加一个产品图像字段,输入 产品图像。
- 输入名称,注意这是程序内部使用的名称,所以只能使用字母,数字或者下划线来定义,比如 prodoct_images。
- 选择字段类型,这里选择 File / Image / Video (文件,图像,视频),注意不同的字段类型可以用不同的形式收集和存储内容。
- 点开这个字段的其它的选项卡,可以进一步去配置。
- 完成以后,点击 保存字段。
打开添加产品的界面,你会发现新添加的字段会出现在这个界面上。
总结
想一下,你为什么需要创建新的内容类型,在什么情况下你需要创建新的内容类型。如果你觉得网站里的内容之间有本质的区别的时候,或者这些内容上会使用不同的字段,分类法的时候,你就应该考虑创建新的内容类型和分类法来管理内容了。因为这样你可以更清晰的管理内容,为不同的内容类型添加不同的字段,分类法等等。
练习
- 使用 Pods 插件创建一个新的内容类型(像文章或页面那样的内容类型)。
- 使用 Pods 插件创建一个新的分类法,并分配给第一步创建的内容类型使用。
- 为第一步创建的内容类型添加一个可以上传图像的字段。
评论
十分详细的课程,感谢站长的热心提供。
我从WordPress官网下载了Pods插件,功能确实强大,但是里面都是英文的界面,可否分享Pods插件的汉化版?
谢谢。
11 年 6 个月 以前
Pods 的翻译得校对一下。我先传上来吧,请看这个文章的附件。解压以后放在:wp-content/plugins/pods/languages
11 年 6 个月 以前
写的很好 转载下!
11 年 6 个月 以前
请问wordpress上又没有drupal上views这么强大的插件啊
11 年 6 个月 以前
我也在找,会有的。现在没有以后也会有,我知到已经有人在做了,但最后搞成什么样不太确定。
11 年 6 个月 以前
已经完成本文最后一个图的那样但是发布后,图片不显示嘛?
11 年 6 个月 以前
嗯,你得在模板文件中添加相应的代码来显示字段里的内容,可能参考:http://podsframework.org/docs/
11 年 6 个月 以前
求教怎么加?
11 年 5 个月 以前
呵呵,好吧,我总结下,然后写写。
11 年 5 个月 以前
发现个挺好的插件 Just Custom Fields 但是不会调用 太菜了 不会代码 说明文档也看不懂,能否写个这类的博文 :(
11 年 6 个月 以前
WordPress 自定义字段的插件挺多,我们在课程里讲过 Advanced Custom Fields ,也是非常棒的插件,这篇文章里介绍的 Pods 插件也非常强大。看来我们得有选择了。
11 年 6 个月 以前
宁浩老师你好,请问,wordpress 有没有可以发布产品和求购信息的供求插件可以使用呀。
11 年 6 个月 以前
需要特别的功能吗?我觉得可以使用自定义内容类型。新建一个内容类型叫 产品,再新建一个内容类型叫 求购。分配给用户权限可以发布内容到这两个内容类型上。
11 年 5 个月 以前
多谢宁浩老师,可是当用户上传图片时,可以看到媒体库中的所有图片,有没有什么办法或是插件可以控制用户,让用户只能看到和操作自己上传的图片呢。
11 年 5 个月 以前
我想应该有插件可以做到,我留意一下。找到告诉你。
11 年 5 个月 以前
好的。多谢宁浩老师。
11 年 5 个月 以前
全套教程599太贵了,我只想买这个插件图片调用的方式可以吗,多少钱?
11 年 5 个月 以前
全套教程599太贵了,我只想买这个插件图片调用的方式可以吗,多少钱?我的qq, 450934025 全天在线等
11 年 5 个月 以前
谢谢,问一下就行了,不用给钱。你可以这样做 :$pods = new Pod('post'); $pods->findRecords('name ASC'); $posters = $pods->get_field('poster'); foreach($posters as $poster)
{ echo wp_get_attachment_image( $poster['ID'], 'thumbnail' ); } 。非常抱歉没有更好的格式,这里的 post 就是一个 pod ,也就是默认的文章,里面的 poster 是文章上的一个图像字段。
11 年 5 个月 以前
把上面的代码放在文章的模板文件里,会显示出在文章里,使用 poster 字段上传的所有的图像。
11 年 5 个月 以前
居然可以免费,真是太感动了,如果赚钱了,我会第一时间过来买全套教程。 真的非常感激你的代码,不过我现在比较菜鸟,不知道怎样用代码,我的数据库前缀是p_ 用下面这种输出方式无效,求指点迷津 <?php echo $pods = new Pod('post'); $pods->findRecords('name ASC'); $posters = $pods->get_field('poster'); foreach($posters as $poster) { echo p_get_attachment_image( $poster['ID'], 'thumbnail' ); }; ?>
11 年 4 个月 以前
我是直接扩展默认的文章,没有新建内容模型
11 年 4 个月 以前
先为文章添加一个可以上传图像的 poster 字段,然后再去试试。
11 年 4 个月 以前
添加了字段的, 我上面贴的输出代码没有问题吧?
poster [id: 31] poster File / Image / Video
11 年 4 个月 以前
请教pods可不可以把自定义文章类型的固定链接改为**/**.html 类型?
10 年 5 个月 以前
木有回复....
10 年 3 个月 以前
嘿嘿。关于 Pods 这个插件,打算在以后出个课程。
10 年 3 个月 以前
9 年 7 个月 以前
9 年 7 个月 以前
想问皓哥,这个创建了新的内容类型后,里面的文章调用出来在列表页如何做分页呢?
9 年 3 周 以前
之前啊我用了一个叫 wp-pagenavi 的插件。https://wordpress.org/plugins/wp-pagenavi/
9 年 2 周 以前