Magic fields

WordPressのプラグイン、Magic Fields 2のレビュー。

このプラグイン、投稿タイプ設定はregister post typeのパラメーターが殆ど使用出来るのと、カスタムフィールドの増減も出来るのでとても便利。

では備忘録。

値の取り出し方は複数あるが、とりあえず以下について。

get()
get_image()
get_group()

get()

get ($fieldName, $groupIndex=1, $fieldIndex=1, $readyForEIP=true,$post_id=NULL)

$fieldName: フィールド名
$groupIndex: グループのインデックス(1~)
$fieldIndex: フィールドのインデックス(1~)
$readyForEIP: テキスト入力系のフィールドの時に、フロントから編集可能にする
$post_id: ループ外で記事IDを指定して使える

複製可能なフィールドにも使えるけれど、複製しないフィールドに使う場合が多いかな。

get_image

get_image ($fieldName, $groupIndex=1, $fieldIndex=1,$tag_img=1,$post_id=NULL,$override_params=NULL)

$fieldName: フィールド名
$groupIndex: グループのインデックス(1~)
$fieldIndex: フィールドのインデックス(1~)
$tag_img: tag[1]で出力するか、url[0]で出力するか。 default = 1
post_id: ループ外で記事IDを指定して使える
$override_params: かなりたくさんのパラメータがあり、ここで指定したものは他をオーバーライドするようだ。

※この部分はwikiがスパニッシュなので、間違ってるかも

width=200, height=200, zoom-crop=1, JPEG compression (1=worst, 95=best, 75=default) = 1
の場合、

$param="h=200&w=200&zc=1&q=100";
//or 下でも可
//$param = array("h" => 200, "w" => 200, "zc" => 1, "q" =>100);

echo get_image('myimage',1,1,1,NULL,$param);

他にも色々なパラメータを指定出来るようだ。

wiki

get_group

get_group($name_group,$post_id=NULL)

$name_group: グループ名
$post_id: ループ外で記事IDを指定して使える

// こんな形で配列が返る
$hoge = get_group("mygroup");
print_r($hoge);

(
    [1] => Array
        (
            [field1] => Array
                (
                    [1] => テキスト型カスタムフィールドなど
                )

            [fieldimage] => Array
                (
                    [1] => Array
                        (
                            [original] => 画像ULのパスが入ります。
                            [thumb] => サムネイルのパスが入ります。サイズ指定方法が未確認
                        )

                )

            [グループ内で複製可能なフィールド] => Array
                (
                    [1] => こんなかんじで、
                    [2] => 複製された場合には
                    [3] => 値が入る
                )
        )
    [2] => array
    	(
    		...
    	)
)

グループで複製可能なフィールドを使うときは、一度get_groupを回してしまえば十分かと思います。

また、register_post_typeで指定可能なものが全て指定できるので、ディレクトリの指定や権限の指定が必要な場合にも、非常に使えます。
ただ欠点として、
・日本語のファイル名をアップロードすると、記事編集画面で画像パスが切れる
・ポスト複製プラグインで、カスタムフィールドの値が複製されない
などが確認出来ました。

まあ、欠点を補う程の利点があるので、もっと使い倒そうと思います!

Thanks to developers!!