• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「関数リファレンス/add post meta」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(関連資料)
(最新のマージ)
6行目: 6行目:
  
 
<tt>$unique</tt> パラメータに <var>true</var> を指定しており、そのメタキーが既に存在している場合、この関数は <var>false</var> を返し何もしません。それ以外の場合は、カスタムフィールドを追加し <var>true</var> を返します。
 
<tt>$unique</tt> パラメータに <var>true</var> を指定しており、そのメタキーが既に存在している場合、この関数は <var>false</var> を返し何もしません。それ以外の場合は、カスタムフィールドを追加し <var>true</var> を返します。
 +
 +
Note that if the given key already exists among custom fields of the specified post, another custom field with the same key is added unless the  <tt>$unique</tt> argument is set to <tt>true</tt>, in which case, no changes are made. If you want to update the value of an existing key, use the <tt>[[Function Reference/update_post_meta|update_post_meta()]]</tt> function instead.
  
 
<div id="Usage">
 
<div id="Usage">
19行目: 21行目:
 
{{Parameter|$post_id|整数|カスタムフィールドを追加する投稿の ID。}}
 
{{Parameter|$post_id|整数|カスタムフィールドを追加する投稿の ID。}}
 
{{Parameter|$meta_key|文字列|カスタムフィールドのキー。}}
 
{{Parameter|$meta_key|文字列|カスタムフィールドのキー。}}
{{Parameter|$meta_value|文字列|カスタムフィールドの値。}}
+
{{Parameter|$meta_value|mixed|カスタムフィールドの値。If an array is given, it will be serialized into a string.}}
{{Parameter|$unique|真偽値|キーをユニークにするかどうか。<var>true</var> のときは、指定した投稿に <tt>$meta_key</tt> を持つカスタムフィールドが無いときのみ追加し、すでにカスタムフィールドが存在していれば追加されません。|optional|false}}
+
{{Parameter|$unique|真偽値|キーをユニークにするかどうか。<var>true</var> のときは、指定した投稿に <tt>$meta_key</tt> を持つカスタムフィールドが無いときのみ追加し、すでにカスタムフィールドが存在していれば追加されません。|オプション|false}}
  
 
<div id="Examples">
 
<div id="Examples">
31行目: 33行目:
  
 
ID が68の投稿に、キーが <tt>my_key</tt> で値が47のカスタムフィールドを追加します。
 
ID が68の投稿に、キーが <tt>my_key</tt> で値が47のカスタムフィールドを追加します。
  <?php add_post_meta(68, 'my_key', 47); ?>
+
 
 +
  <?php add_post_meta( 68, 'my_key', 47 ); ?>
  
 
既に <tt>my_key</tt> というキーを持つカスタムフィールドが存在していても追加します。  
 
既に <tt>my_key</tt> というキーを持つカスタムフィールドが存在していても追加します。  
38行目: 41行目:
  
 
キーが存在しない場合は新しくカスタムフィールドを追加し、キーが存在する場合はカスタムフィールドを更新します。
 
キーが存在しない場合は新しくカスタムフィールドを追加し、キーが存在する場合はカスタムフィールドを更新します。
  <?php if ( !add_post_meta(7, 'fruit', 'banana', true) ) update_post_meta(7, 'fruit', 'banana'); ?>
+
<pre>
 +
<?php
 +
if ( ! add_post_meta( 7, 'fruit', 'banana', true ) ) {
 +
  update_post_meta ( 7, 'fruit', 'banana' );
 +
}
 +
</pre>
  
 
===その他の例===
 
===その他の例===
  
 
''"my_key"'' キーを持つカスタムフィールドが存在しないときだけ追加する:
 
''"my_key"'' キーを持つカスタムフィールドが存在しないときだけ追加する:
  <?php add_post_meta(68, 'my_key', '47', true); ?>
+
  <?php add_post_meta( 68, 'my_key', '47', true ); ?>
  
 
''"my_key"'' キーを持つカスタムフィールドを複数追加する:
 
''"my_key"'' キーを持つカスタムフィールドを複数追加する:
<pre><?php add_post_meta(68, 'my_key', '47'); ?>
+
<pre>
<?php add_post_meta(68, 'my_key', '682'); ?>
+
<?php add_post_meta( 68, 'my_key', '47' ); ?>
<?php add_post_meta(68, 'my_key', 'The quick, brown fox jumped over the lazy dog.'); ?>
+
<?php add_post_meta( 68, 'my_key', '682' ); ?>
 +
<?php add_post_meta( 68, 'my_key', 'The quick, brown fox jumped over the lazy dog.' ); ?>
 
...</pre>
 
...</pre>
  
59行目: 68行目:
 
以下の例は、キーが ''_color'' で値が ''red'' のユニークなカスタムフィールドを追加しますが、記事や固定ページの編集画面には表示されません。
 
以下の例は、キーが ''_color'' で値が ''red'' のユニークなカスタムフィールドを追加しますが、記事や固定ページの編集画面には表示されません。
 
  <?php add_post_meta(68, '_color', 'red', true); ?>
 
  <?php add_post_meta(68, '_color', 'red', true); ?>
 +
 +
==== 隠された配列 ====
 +
 +
In addition, if the <tt>$meta_value</tt> argument is an array, it will <strong>not</strong> be displayed on the page edit screen, even if you don't prefix the key name with an underscore.
 +
 +
 +
== 注 ==
 +
* Uses <tt>[[関数リファレンス/add_metadata | add_metadata()]]</tt> を使用します。
 +
 +
===文字のエスケープ ===
 +
 +
Because meta values are passed through the <tt>[http://php.net/stripslashes stripslashes()]</tt> function, you need to be careful about content escaped with <tt>\</tt> characters. You can read more about the behavior, and a workaround example, in the <tt>[[Function_Reference/update_post_meta#Character_Escaping | update_post_meta()]]</tt> documentation.
 +
 +
== ソースコード ==
 +
 +
<tt>add_post_meta()</tt> は {{Trac|wp-includes/post.php}}にあります。
 +
 +
== 更新履歴 ==
 +
 +
新規導入: 1.5.0
  
 
<div id="Related">
 
<div id="Related">
65行目: 94行目:
  
 
{{Post Meta Tags}}
 
{{Post Meta Tags}}
 +
 +
{{NeedTrans|一部}}
  
 
{{Tag Footer}}
 
{{Tag Footer}}
{{原文|Function Reference/add post meta|80014}}<!-- 13:18, 9 November 2009 GeertDD -->
+
{{原文|Function Reference/add post meta|151931}}<!-- 15:10, 4 June 2015‎ Jdgrimes -->
  
 
[[en:Function Reference/add post meta]]
 
[[en:Function Reference/add post meta]]

2015年7月22日 (水) 11:42時点における版

add_post_meta は、指定した記事や固定ページにカスタム(メタ)フィールドを追加します。

$unique パラメータに true を指定しており、そのメタキーが既に存在している場合、この関数は false を返し何もしません。それ以外の場合は、カスタムフィールドを追加し true を返します。

Note that if the given key already exists among custom fields of the specified post, another custom field with the same key is added unless the $unique argument is set to true, in which case, no changes are made. If you want to update the value of an existing key, use the update_post_meta() function instead.

使い方

<?php add_post_meta($post_id, $meta_key, $meta_value, $unique); ?>

パラメータ

$post_id
整数) (必須) カスタムフィールドを追加する投稿の ID。
初期値: なし
$meta_key
文字列) (必須) カスタムフィールドのキー。
初期値: なし
$meta_value
mixed) (必須) カスタムフィールドの値。If an array is given, it will be serialized into a string.
初期値: なし
$unique
真偽値) (オプション) キーをユニークにするかどうか。true のときは、指定した投稿に $meta_key を持つカスタムフィールドが無いときのみ追加し、すでにカスタムフィールドが存在していれば追加されません。
初期値: false

用例

デフォルトの使い方

ID が68の投稿に、キーが my_key で値が47のカスタムフィールドを追加します。

<?php add_post_meta( 68, 'my_key', 47 ); ?>

既に my_key というキーを持つカスタムフィールドが存在していても追加します。

ユニークなカスタムフィールドの追加と更新

キーが存在しない場合は新しくカスタムフィールドを追加し、キーが存在する場合はカスタムフィールドを更新します。

<?php
if ( ! add_post_meta( 7, 'fruit', 'banana', true ) ) { 
   update_post_meta ( 7, 'fruit', 'banana' );
}

その他の例

"my_key" キーを持つカスタムフィールドが存在しないときだけ追加する:

<?php add_post_meta( 68, 'my_key', '47', true ); ?>

"my_key" キーを持つカスタムフィールドを複数追加する:

<?php add_post_meta( 68, 'my_key', '47' ); ?>
<?php add_post_meta( 68, 'my_key', '682' ); ?>
<?php add_post_meta( 68, 'my_key', 'The quick, brown fox jumped over the lazy dog.' ); ?>
...

さらに詳しい例は post meta 関数の例 を見てください。

見えない カスタムフィールドを作る

プラグインやテーマの開発者なら、カスタムフィールドをプラグインやテーマ用のパラメータを保存するために使いたいことがあるかもしれません。"_" (アンダースコア)で始まるキーを持つカスタムフィールドは記事や固定ページの編集画面に表示されないので、そのような内部的な 見えない パラメータを扱うのに適しています。

以下の例は、キーが _color で値が red のユニークなカスタムフィールドを追加しますが、記事や固定ページの編集画面には表示されません。

<?php add_post_meta(68, '_color', 'red', true); ?>

隠された配列

In addition, if the $meta_value argument is an array, it will not be displayed on the page edit screen, even if you don't prefix the key name with an underscore.


文字のエスケープ

Because meta values are passed through the stripslashes() function, you need to be careful about content escaped with \ characters. You can read more about the behavior, and a workaround example, in the update_post_meta() documentation.

ソースコード

add_post_meta()wp-includes/post.phpにあります。

更新履歴

新規導入: 1.5.0


カスタムフィールド: the_meta(), get_post_meta(), add_post_meta(), update_post_meta(), delete_post_meta(), get_post_custom(), get_post_custom_values(), get_post_custom_keys() (post_meta 関数の例 /en も参照)


このページ「関数リファレンス/add post meta」は一部未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています


関数リファレンステンプレートタグ目次もご覧ください。

最新英語版: WordPress Codex » Function Reference/add post meta最新版との差分