唯家国情怀 發表於 2023-6-29 00:00:00

WordPress中给文章添加自定义字段及后台编辑功能区域

<p>
<strong>add_post_meta </strong><br>
add_post_meta 函数是 WordPress 中用来给文章或页面添加自定义字段值的一个函数,<br>
其用法与在编写文章时在文章编写界面中利用自定义栏目面板为文章添加自定义字段值的效果是一样的。</p>
<p>
add_post_meta函数描述<br>
为文章添加自定义字段。<br>
常见的使用有:文章浏览次数、喜欢按钮、seo插件等常用插件就是使用的自定义字段功能。</p>
<p>
参数详解</p>
<div>
<div>
<div id="highlighter_800817">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
</td>
<td>
<div>
<div>
<code>add_post_meta(</code><code>$post_id</code><code>, </code><code>$meta_key</code><code>, </code><code>$meta_value</code><code>,</code><code>$unique</code><code>);</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
$post_id<br>
要添加自定义字段的文章或页面的ID值<br>
$meta_key<br>
自定义字段的键值(名字)<br>
$meta_value<br>
自定义字段的值<br>
$unique<br>
如果已经有相同名字的自定义字段,是否重复添加重名的自定义字段,true为不允许,false为允许<br>
函数使用实例</p>
<div>
<div>
<div id="highlighter_710073">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
<div>
5</div>
<div>
6</div>
</td>
<td>
<div>
<div>
<code>//为ID为1的文章添加_postviews自定义字段,值为99</code>
</div>
<div>
<code>add_post_meta(1, </code><code>"_postviews"</code><code>, </code><code>"99"</code><code>);</code>
</div>
<div>
<code>var_dump(get_post_meta(1));</code><code>echo</code><code>"&lt;br /&gt;"</code><code>;</code>
</div>
<div>
<code>//为ID为1的文章添加_postviews自定义字段,值为999,并允许重复自定义字段名称</code>
</div>
<div>
<code>add_post_meta(1, </code><code>"_postviews"</code><code>, 999,false);</code>
</div>
<div>
<code>var_dump(get_post_meta(1));</code><code>echo</code><code>"&lt;br /&gt;"</code><code>;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
演示效果:</p>
<div>
<div>
<div id="highlighter_44753">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
<div>
5</div>
<div>
6</div>
<div>
7</div>
<div>
8</div>
<div>
9</div>
<div>
10</div>
<div>
11</div>
<div>
12</div>
<div>
13</div>
<div>
14</div>
<div>
15</div>
<div>
16</div>
<div>
17</div>
<div>
18</div>
<div>
19</div>
<div>
20</div>
<div>
21</div>
<div>
22</div>
<div>
23</div>
<div>
24</div>
<div>
25</div>
<div>
26</div>
<div>
27</div>
<div>
28</div>
<div>
29</div>
<div>
30</div>
<div>
31</div>
<div>
32</div>
<div>
33</div>
<div>
34</div>
<div>
35</div>
<div>
36</div>
<div>
37</div>
<div>
38</div>
<div>
39</div>
<div>
40</div>
</td>
<td>
<div>
<div>
<code>array</code><code>(1) {</code>
</div>
<div>
<code> </code><code>[</code><code>"_postviews"</code><code>]=&gt;</code>
</div>
<div>
<code> </code><code>array</code><code>(1) {</code>
</div>
<div>
<code>  </code><code>=&gt;</code>
</div>
<div>
<code>  </code><code>string(2) </code><code>"99"</code>
</div>
<div>
<code> </code><code>}</code>
</div>
<div>
<code>}</code>
</div>
<div>
 </div>
<div>
<code>array</code><code>(1) {</code>
</div>
<div>
<code> </code><code>[</code><code>"_postviews"</code><code>]=&gt;</code>
</div>
<div>
<code> </code><code>array</code><code>(2) {</code>
</div>
<div>
<code>  </code><code>=&gt;</code>
</div>
<div>
<code>  </code><code>string(2) </code><code>"99"</code>
</div>
<div>
<code>  </code><code>=&gt;</code>
</div>
<div>
<code>  </code><code>string(3) </code><code>"999"</code>
</div>
<div>
<code> </code><code>}</code>
</div>
<div>
<code>}</code>
</div>
<div>
 </div>
<div>
 </div>
<div>
<code>//不允许重复自定义字段的代码</code>
</div>
<div>
<code>add_post_meta(1, </code><code>"_postviews"</code><code>, </code><code>"996"</code><code>,true);</code>
</div>
<div>
<code>var_dump(get_post_meta(1));</code><code>echo</code><code>"&lt;br /&gt;"</code><code>;</code>
</div>
<div>
<code>add_post_meta(1, </code><code>"_postviews"</code><code>, </code><code>"997"</code><code>,true);</code>
</div>
<div>
<code>var_dump(get_post_meta(1));</code><code>echo</code><code>"&lt;br /&gt;"</code><code>;</code>
</div>
<div>
<code>array</code><code>(1) {</code>
</div>
<div>
<code> </code><code>[</code><code>"_postviews"</code><code>]=&gt;</code>
</div>
<div>
<code> </code><code>array</code><code>(1) {</code>
</div>
<div>
<code>  </code><code>=&gt;</code>
</div>
<div>
<code>  </code><code>string(3) </code><code>"996"</code>
</div>
<div>
<code> </code><code>}</code>
</div>
<div>
<code>}</code>
</div>
<div>
 </div>
<div>
 </div>
<div>
<code>array</code><code>(1) {</code>
</div>
<div>
<code> </code><code>[</code><code>"_postviews"</code><code>]=&gt;</code>
</div>
<div>
<code> </code><code>array</code><code>(1) {</code>
</div>
<div>
<code>  </code><code>=&gt;</code>
</div>
<div>
<code>  </code><code>string(3) </code><code>"996"</code>
</div>
<div>
<code> </code><code>}</code>
</div>
<div>
<code>}</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>add_meta_box</strong><br>
add_meta_box 是 WordPress 进阶使用的一个函数,能用到这个函数那说明你已经比一个普通的博主更了解这个世界瞩目的博客程序了,至少你在它身上已经花了不少功夫了。能用到它,说明你现在正在折腾一个你自己的主题、插件,甚至是在折腾 WordPress 后台了。<br>
好像已经赘述的够多了,下面我们以一个进阶的角度去说明一下这个函数怎么用。</p>
<p>
add_meta_box 函数说明<br>
add_meta_box 函数是被用来在文章编辑等页面添加一个设置的区域的函数。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="WordPress中给文章添加自定义字段及后台编辑功能区域" alt="WordPress中给文章添加自定义字段及后台编辑功能区域" src="https://zhuji.jb51.net/uploads/img/202305/9e0c2c6c73984aa9d5390862beca2df0.jpg"></p>
<p>
参数说明</p>
<div>
<div>
<div id="highlighter_76515">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
</td>
<td>
<div>
<div>
<code>&lt;?php</code>
</div>
<div>
<code> </code><code>add_meta_box( </code><code>$id</code><code>, </code><code>$title</code><code>, </code><code>$callback</code><code>, </code><code>$post_type</code><code>, </code><code>$context</code><code>, </code><code>$priority</code><code>, </code><code>$callback_args</code> <code>);</code>
</div>
<div>
<code> </code><code>?&gt;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
$id HTML 代码中设置区域中id属性的值<br>
$title 区域中的标题名称<br>
$callback 添加的设置区域的显示函数(回调函数)<br>
$post_type 在 post 还是 page 的编辑页面中显示<br>
$context 设置区域的显示位置,主编辑区、边栏、其他<br>
$priority 设置区域显示的优先级<br>
$callback_args 回调函数接受的附加参数<br>
使用实例</p>
<div>
<div>
<div id="highlighter_415008">
<div>
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td>
<div>
1</div>
<div>
2</div>
<div>
3</div>
<div>
4</div>
<div>
5</div>
<div>
6</div>
<div>
7</div>
<div>
8</div>
<div>
9</div>
<div>
10</div>
</td>
<td>
<div>
<div>
<code>function</code> <code>add_xz_box (){</code><code>//添加设置区域的函数</code>
</div>
<div>
<code>add_meta_box(</code><code>'xz_box_1'</code><code>, </code><code>'add_meta_box 测试'</code><code>, </code><code>'xz_box_1'</code><code>,</code><code>'post'</code><code>,</code><code>'side'</code><code>,</code><code>'high'</code><code>,</code><code>array</code><code>(</code><code>'str1'</code><code>,</code><code>'str2'</code><code>));</code>
</div>
<div>
<code>};</code>
</div>
<div>
<code>//在'add_meta_boxes'挂载 add_xz_box 函数</code>
</div>
<div>
<code>add_action(</code><code>'add_meta_boxes'</code><code>,</code><code>'add_xz_box'</code><code>);</code>
</div>
<div>
<code> </code>
</div>
<div>
<code> </code>
</div>
<div>
<code>function</code> <code>xz_box_1(</code><code>$post</code><code>,</code><code>$boxargs</code><code>){</code><code>//显示设置区域的回调函数</code>
</div>
<div>
<code> </code><code>echo</code><code>"add_meta_box 测试"</code><code>;</code>
</div>
<div>
<code>};</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div id="codetool">
<div>
<textarea></textarea>
</div>
</div>
</div>
<p>
 </p>
頁: [1]
查看完整版本: WordPress中给文章添加自定义字段及后台编辑功能区域