maybe_unserialize

説明

mixed maybe_unserialize( string $original )
シリアライズした文字列からアンシリアライズした値を取得する。

パラメータ

  • $original
    シリアライズした文字列を指定。

返り値

$originalをアンシリアライズした値(数値、文字列、配列など)を返す。シリアライズされていない場合は$originalの値をそのまま返す。

注意

投稿情報のカスタムフィールドデータやユーザー情報の拡張データは、各種データ形式を保存できるようシリアライズしてデータベースに保存している。 get_post_meta get_user_meta関数を使用する場合は、このmaybe_unserialize関数を直接呼び出す必要はないが、対象テーブルから直接生データを取得して使用する場合はこのmaybe_unserialize関数を使用する。

使用例

  • すべての投稿情報のカスタムフィールド'basic'値を$valuesに格納する。
    global $wpdb;
    $values = array();
    $metas = $wpdb->get_results( "SELECT post_id,meta_value FROM {$wpdb->postmeta} WHERE meta_key='basic'" ) ;
    foreach ( $metas as $term ) {
    	$values[$term->post_id] = maybe_unserialize( $term->meta_value );
    }
    

フィルター

直接実行するフィルターはありません。

アクション

直接実行するアクションはありません。

ソースファイル

/wp-includes/functions.php

最終更新 : 2013年04月27日 17:14



お勧め

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)

先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。

HTML entities button:プラグイン作ってみました(2021年4月28日 更新)

以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.1.0では「Dashiconsの挿入」を追加しました。HTML編集モードをメインに使用されている方は、お試しあれ。

5.7の機能拡張:エクスポートファイルに更新日時が追加ほか(2021年2月23日 更新)

WordPressはサイト移行を支援する機能として投稿情報のエクスポート機能を備えている。5.7ではこのエクスポート機能が改良され、更新日時情報が追加されるようだ。

query_posts(WP_Queryクラス)でカスタムフィールドを使う(2011年9月15日 更新)

先週3回にわたってtax_queryパラメータを使ったカテゴリーや投稿タグ、投稿フォーマットの絞り込みを整理したが、その途中で目に付いたのが'meta_query'パラメータ。この'meta_query'パラメータは、カスタムフィールドの絞り込み条件を指定するためのもので、3.2で登場した新しいパラメータのようだ。