站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:Using Custom Fields
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
__TOC__ WordPress能够使文章作者给文章配置自定义区。这个任意的额外信息,称之为'''meta-data'''。这个'''meta-data'''可以包含以下的信息: * '''情绪: 开心''' * '''当前阅读: 灰姑娘''' * '''聆听: 钟的摇摆''' * '''天气: 闷热潮湿''' 拥有了一些额外的编码后,有可能归档更多的更加复杂的活动,例如使用'''metadata'''来为一篇文章储存一个有效期。 Meta-data是由'''关键词/值'''来处理的。'''关键词'''是meta-data元素的名称。'''值'''是每篇单独的与这个信息相关的文章上的meta-data列表的上显示的信息, '''Keys'''可以在每篇文章中多次使用。例如,如果你正在阅读两本不同的书(可能工作时,读一本技术方面的书,在家的时候,读一本小说),你可以创建一个"阅读"关键词并且在同一篇文章中两次都使用这个关键词,为每本书都使用一次。 出现在你的文章中的信息可能是什么样的,下面是一个例子; <div style="border:1px solid blue; width:50%; margin: 20px; padding:20px">'''当前阅读''': ''Calvin 和 Hobbes'' '''当日心情''': ''高兴愉快'' </div> ==用法== 根据上述的例子,让我们来实施这个。我们会添加两个自定义区,一个称作"当前阅读" 另一个称作"当日的心情"。以下的指示说明会指导你怎样使用自定义区来将这个信息添加到一篇文章中。 #你写了文章后,下拉到标题为'''自定义区'''的区域。 #要创建一个新的称之为"当前阅读"的'''自定义区''',在标题为'''关键词'''的文本输入区输入文本"当前阅读"(没有引号)。 #新创建的'''关键词'''现在应该有一个'''值''',在这个例子中,是当前阅读的书名,"Calvin 和Hobbes"。在''值'' 区输入"Calvin and Hobbes",仍然没有引号。 #点击'''添加自定义区'''按钮来将这篇文章的自定义信息保存下来。 要添加你的"当日的心情",重复这个过程,并且添加"当日的心情"到'''关键词''',同时在'''值'''文本框中添加你的心情的描述,并且点击'''保存'''来保存文章中的这个信息。 在你的下一篇文章中,你可以给你的meta-data添加一本新书和心情。在'''自定义区'''部分,'''关键词'''现在显示为一个下拉列表,这个列表上有先前输入的自定义范围。选择"当前阅读"然后输入你在'''值'''中阅读的新书。点击'''添加自定义范围'''然后重复这个过程来添加"当日的心情"。 你'''一次'''只要创建一个新的"关键词",创建好了之后,如果你想的话,你可以为每篇文章的关键词分配一个值。你可以为一篇文章的一个关键词分配几个''值''。对于那些一次阅读几本书的人们,这个功能迟早会有用的。 ==显示自定义范围== 给文章添加了一个自定义范围之后,就是向世界显示你的书本和心情的时候了。要为每篇文章显示自定义范围,使用<tt>[[WordPress:Template_Tags/the_meta|the_meta()</tt>]]模板标签。标签必须放入[[WordPress:The Loop|The Loop]]中才可以运行。许多人将<tt>the_meta()</tt>模板标签添加在他们的文章的最后部分,或者添加在他们的[[WordPress:Post Meta Data Section|文章 Meta Data部分]]。下面是使用标签的一个基本的例子: <?php the_meta(); ?> 在源代码中,这个可能看起来像: <pre><ul class='post-meta'> <li><span class='post-meta-key'>Curently Reading:</span> Calvin and Hobbes</li> <li><span class='post-meta-key'>Today's Mood:</span> Jolly and Happy</li> </ul></pre> 模板标签自动地将这个的meta-data放到一个CSS样式中,称为<tt>post-meta</tt>。'''关键词'''是在一个<tt>span</tt>中,称为<tt>post-meta-key</tt>,这样你可以在你的样式表中将它设计。所有的这些内容都在一个无序的列表中得到了显示。 要自定义post-meta列表的外观,就要改变你的样式表的特征。例如,,让我们给上面的例子添加一些样式。样式表元素看起来像: <pre>.post-meta {font-variant: small-caps; color: maroon; } .post-meta-key {color: green; font-weight: bold; font-size: 110%; }</pre> <div style="border:1px solid blue; width:50%; margin: 20px; padding:20px"> * <span style="font-size:110%; color: green; font-weight:bold; font-variant: small-caps"> 当前阅读</span>: <span style="font-style:italic; color: maroon; font-variant: small-caps">Calvin 和 Hobbes</span> * <span style="font-size:110%; color: green; font-weight:bold; font-variant: small-caps">当日心情</span>: <span style="font-style:italic; color: maroon;font-variant: small-caps">开心愉快</span> </div> [http://wordpress.org/extend/plugins/ 官方 WordPress 插件目录]中有许多WordPress插件,给显示meta标签增添了一些好的功能。搜索[http://www.google.com/search?hl=en&q=custom+fields+plugin+wordpress&btnG=Google+Search Google上的自定义范围插件]会帮助你找到更多的插件。 ==自定义区的高级技术== 下面是更多的关于得到并且自定义meta-data和自定义区的高级技术。 ===得到自定义区=== 使用<tt>get_post_meta()</tt>函数,能够得到meta值: get_post_meta($post_id, $key, $single); *<tt>$post_id</tt>是mata值想指的文章的ID。使用<tt>$post->ID</tt>来得到文章的ID。 *<tt>$key</tt>是一个字符串,包含了你想要的meta 值的名称。 *<tt>$single</tt>可以是<tt>true</tt> 或者<tt>false</tt>。如果设置为true,函数会返回一个单一的结果,作为一个'''字符串'''。如果设置为false,或者没有设置,那么函数会返回一个自定义范围的'''数组'''。 ====执行详细信息==== PostMeta信息储存在一个新的表格中,<tt>$wpdb->postmeta</tt>。这个表格有四个区: :<tt>meta_id</tt>: 每篇文章的一个唯一的id <br /> :<tt>post_id</tt>: 这个metadata文章的ID <br /> :<tt>meta_key</tt>: '关键词'的名称<br /> :<tt>meta_value</tt>: 与关键词相关的值<br /> 这个表格中的值被放进了一个称为<tt>$post_meta_cache</tt>的结构多维数组,在<tt>$posts</tt>数组被引进<tt>wp-blog-header.php</tt>之后。这个变数只包括那些寻求当前创建的网页的文章的列表的值。数组的结果可能看起来像: [ postid1 => [ [ key1 => [val1, val2, ...], key2 => [val1, val2, ...], ... ], postid2 => [ ... ], ... ] 因此,如果你想要从文章号256中提取"reading"值,你使用这个PHP编码: // 为我所阅读的内容找到一组值: $readinglist = $post_meta_cache[256]['reading']; :不要忘了<tt>$readinglist</tt>会是一个数组,而不是一个单一的值。 :从WordPress2.1起,$post_meta_cache上不再有meta值。从下面提到的函数中得到meta值 ===PostMeta 函数=== ====内部函数==== 这些函数将在[[WordPress:The Loop|The Loop]]内部使用,而且这些函数都返回数组。 ;<tt>[[WordPress:Function Reference/get post custom|get_post_custom()]]</tt>:得到当前文章的所有的关键词/值数据。 ;<tt>[[WordPress:Function Reference/get post custom keys|get_post_custom_keys()]]</tt>:得到当前文章的所有关键词名称的列表。 ;<tt>[[WordPress:Function Reference/get post custom values|get_post_custom_values($key)]]</tt>:得到当前文章的一个特别的关键词的值的列表。 ;<tt>get_post_meta($post_id, $key, $single = false)</tt>:在WP1.5以及更高的版本中,这个函数返回了meta信息,但是不会产生高速缓存问题。函数需要文章id,关键词,如果<tt>$single</tt>设置为真的,它只会返回PHP使用的第一个结果(不是作为一个数组)。 <pre>这个会产出作为结果的meta值 (注意添加的"echo"): <?php $key="mykey"; echo get_post_meta($post->ID, $key, true); ?></pre> ====模板函数==== 写这个的时候,只有一个模板函数。 ;<tt>[[WordPress:Template Tags/the_meta|the_meta()]]</tt>:输出一个无序的列表,这个列表包含有当前的文章的meta-data,有一类是关于UL的''post-meta''和LI的''post-meta-key''。 我们期望独立的开发者能够提出许多插件形式的文章meta-data的有趣的用法。<tt>the_meta()</tt>模板函数只是一个特别的基本的例子。 这时,你只能够添加和删除文章。以后会给你更改当前文章的权限。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)