advanced custom fieldsプラグインでプレビューもやりたい

wordpressをカスタマイズするときに、よく使うプラグインが「advanced custom fields」です。
http://komodo.arrow.jp/wp/614

通常だと、タイトル・カテゴリ・タグ・本文・抜粋を入力するwordpressですが、
全部の投稿に画像を複数付けたいとか、画像と1行文をセットにするとか、
そんな要望がでてくることも多々あると思います。

そういうときに便利なのか「advanced custom fileds」です。
wordpressの記事入力画面の入力項目を好きなように作れます。

ただ、1つ不便だなと思うところがあります。
このプラグインは、wordpressのcustom filedを使って実現されているんですが、
custom filedに入力したデータは、プレビュー機能で見れないんですよね。
公開されている記事を編集する場合は、公開済の情報が表示されてしまいます。

せっかく、データを入力しやすいようにカスタマイズしても、プレビューでできないのは残念。
そこで、「advanced custom fields」で入力した情報を、プレビューできるようにしました。
テンプレートのfunctions.phpに以下を書けば、OKです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// カスタムフィールドをプレビュー対象にする
 
// preview用に保存された下書き情報(post)のIDを取得する
function get_preview_id($postId)
{
    global $post;
    $previewId = 0;
 
    if (($post->ID == $postId) && $_GET['preview'] == true &&  ($postId == url_to_postid($_SERVER['REQUEST_URI']))) {
        // プレビュー表示の際に、自動保存されたpostの下書き情報を取得する
        $preview = wp_get_post_autosave($postId);
        if ($preview != false) { $previewId = $preview->ID; }
    }
 
    return $previewId;
}
 
function get_preview_postmeta($metaValue, $postId, $metaKey, $single)
{
    // プレビュー表示のときにmeta情報(custom fileds情報)を、
    // プレビュー用のmeta情報に置き換える
    if ($previewId = get_preview_id($postId)) {
        if ($postId != $previewId) {
            $metaValue = get_post_meta($previewId, $metaKey, $single);
        }
    }
 
    return $metaValue;
}
add_filter('get_post_metadata', 'get_preview_postmeta', 10, 4);
 
 
// 下書き情報を作成するときに、対応するcustom filed情報も作成する
// プレビューの際には、この時作ったcustom filed情報を読み出す
// (読み出しているのが、get_preview_postmetaの部分)
function save_preview_postmeta($postId)
{
    global $wpdb, $acf;  // $acfがadvanced custom filedsのglobal 変数
 
    if (wp_is_post_revision($postId)) {
        if (count($_POST['fields']) != 0) {
            foreach ($_POST['fields'] as $key => $value) {
                $field = $acf->get_acf_field($key);
 
                if (count(get_metadata('post', $postId, $field['name'], $value)) != 0) {
                    update_metadata('post', $postId, $field['name'], $value);
                    update_metadata('post', $postId, "_" . $field['name'], $field['key']);
                } else {
                    add_metadata('post', $postId, $field['name'], $value);
                    add_metadata('post', $postId, "_" . $field['name'], $field['key']);
                }
            }
        }
        do_action('save_preview_postmeta', $postId);
    }
}
add_action('wp_insert_post', 'save_preview_postmeta');



調べるのに時間かかったので、忘備録として。
このプログラムは、こちらの記事を参考に、advanced custom filedsに対応させて頂きました。
http://www.warna.info/archives/2502/


※追記(2013/7/16)
最新版のプラグインはプレビューに対応しています。
現在は、上記の対応は入れる必要はありません。

marzac7

中目黒にあった五元豚のお店跡地にできた、ワインバルのmarzac7に行ってきた。
http://tabelog.com/tokyo/A1317/A131701/13146392/

青山にあるmarzacは、夜でも通る度に人で賑わっているお店。なので、楽しみでした。
http://tabelog.com/tokyo/A1306/A130602/13119007/

ワインは一杯500円から。料理もお手頃価格のものが多い。
しっかりご飯を食べるのではなく、飲みながらつまむというスタイルにお勧め。
一人500円のワインを2杯飲んで、おつまみ頼んで4000円強くらいでした。

以前行ったpizza酒屋と価格帯としては同じくらい。
ご飯をちゃんと食べるならpizza酒屋、おつまみっぽいのならmarzac7ってイメージ。
両方とも、数品しか食べてないので、また何回かいって、他のメニューも食べてみようと思います。

燻製もいかなきゃー。

nakameguro 燻製 apartment

夏からダイエット目的でプールに行き始めている。もっぱら平泳ぎだけれど、クロールにも挑戦中。
仕事で遅くなった日は、できるだけ散歩かジョギングをするようにしている。
時々、ふらっと脇道にそれたときに、新しいお店を見つけることができる楽しみもある。

この「nakameguro 燻製 apartment」は、いつものジョギングコースにできていた。
9/7にオープンしてたみたいだけれど、全く気づいてなかった。今回は、美味しそうな香りで気づけた。
たまたま、メガネをつけて走ってたから、店の名前もばっちり見ることができた。

燻製の香りが、道路にまで漂っていて、白ワインでスモークチーズ食べたらとか、水割りもいいなとか。
ウィスキーにも合いそうだから、アツシとかスグルとか誘うと喜ぶかなーとか、考えてた。

店の看板も暖色のランプで照らされていて、好みだった。ぜひ夜に訪れたい。

pizza酒屋

中目黒に新しくできた「pizza酒屋」。「pizza」+「居酒屋」で「pizza酒屋」。読み方は、「ピザカヤ」。

8/8にオープンしてたんですが、なかなか行く機会がなく、一ヶ月以上たってしまいました。
今回友達が遊びにきたので、誘っていってみることに。中目黒イチ薄いっていうピザに期待で。

ピザ1枚(マルゲリータ)、グリルドポテト、ソフトシェルシュリンプのフリットを食べた。
飲み物は、ビールと白ワインを1杯ずつ×二人。これで、3800円。
3種類の食べ物で十分お腹ふくれたので、お得だと思います。ポテトのおかげですがw
ピザも無難に美味しかった、ほんとに薄い生地で食べやすい。もっとパリっとしてるともっといいかも。
グリルドポテトは、ニンニクもはいってて、おいしかった!3品で一番あたり。
ソフトシェルシュリンプは、身を食べる分にはいいけど、頭としっぽまで食べると、ちょっとしょっぱい。
白ワインを飲みながらが前提なのかな?安めな値段設定だと思うので、満足な味だと思いました。

分煙はされてないので、タバコがすごく嫌いな人で、となりに喫煙者がきたら不快だと思います。
僕らが行った時は、たまたまタバコを吸っている人は近くにいなかったので、美味しく頂けました。

気になったことといえば、奥のベンチソファー席で、靴を脱いで足をソファーの上に上げてた女子が二人いた事。
そこにカバン置いたり、手を置いたりする人がいるとか考えないのかなー?ああいうの好きじゃない。
どんだけ美人でも、イケメンでも、良い人でも食べ物を食べる場では、清潔さとか人の目とか気にして欲しいなと思います。

http://tabelog.com/tokyo/A1317/A131701/13145831/

中目黒ジャンカデリック

前から気になってたお店、ジャンカデリックに行ってきました。
何度か予約なしで入ろうとしてたんですが、いつも予約で席が埋まってて入れなかったんです。
今回は、当日に予約がとれたので、ラッキーってことで、テンション高めで行ってきました。

まずはビールを飲んで、ナチョスとかをいくつか注文。はずれなものは1つもなかったけど、
モッツァレラチーズがめっちゃモチモチしてた、ケサディーヤが美味しくて、他のメニューの印象がとんだw

あれだけでも食べに行く価値があると思います。そのくらい美味しかったし、好みだった。
夜中2時までやっているので、飲んだあとの小腹を満たすのにも使えるお店です。

http://tabelog.com/tokyo/A1317/A131701/13030861/

中目黒Drop

東山にあるハンバーガー屋Golden Brownの方に教えてもらった、ピザ屋さんDrop。
ちょっと前に、男友達5人でランチタイムに行ってきました。

一番びっくりしたのは、ランチタイムのお得感。ピザ1枚500円!しかも、ボリュームも満足!
これ500円!?って思うほどの大きさのピザが出てきます。1000円って言われてもおかしくない大きさ。
宅配ビザを頼むのがバカらしくなってしまうほどのお得感です。

マルゲリータ、プロシュート、クワトロフォルマッジ等、男が5人もいると、いろんなのを頼んでも食べれて楽しかったです。
味はどれもおいしかった。マルゲリータと、プロシュートは特に好みの感じでした。

その後、再度行ったんですが、その時はちょっとオイルが多いように感じたので、ちょっとバラつきがあるのかも。

また、ランチで行ってみたいお店です。

西荻窪りげんどう

友人が勤めている西荻窪のりげんどうさんで食事をしてきました。初めての西荻窪。
http://tabelog.com/tokyo/A1319/A131907/13130910/

いただいたのは3900円の夜のコース。夜は1つのコースだけでやられているそうです。
料理+デザートのお値段で、飲み物をつける場合は、別途料金が必要です。
京風の味付けだそうで、薄味ですが、肉、魚、野菜の味がしっかりするので、物足りなさは感じません。
どれも美味しかったですが、とろみがかったアンと一緒に食べた豚肉と、デザートのタルトが印象にのこっています。

料理はちょうど良いボリュームで、食べ過ぎな感じになる直前くらいの程よい満足感。
デザートもしっかり分量があります。このくらいだろうと思った大きさの倍近くありました。

友人の話しだと、料理長が気前がよく、物足りないよりは満足感がある方がうれしいやんって考えの方なんだそう。
最近の暑い日で、食欲あんまりないんやけどって方でも、食べれると思うので、ぜひお試しあれー。

sendmailとpostfixの利用smtpサーバ指定方法

centos6から標準MTA(Mail Transport Agent)がsendmailからpostfixになっていることを知りました。
今使っているサーバは、メールを送信する際に特定のSMTPサーバを利用しないと、外部メールアドレス(携帯のメールアドレスとか)にメールが送信できない環境です。centos5を利用していた時のsendmail向けの設定変更手順は分かっていたのですが、postfix向けの設定がわからなかったので、ぐぐって解決。

sendmail用の設定( /etc/email/sendmail.mc を編集 )

1
2
3
4
5
6
7
8
9
10
dnl # Uncomment and edit the following line if your outgoing mail needs to
dnl # be sent out through an external mail server:
dnl #
dnl define(`SMART_HOST', `smtp.your.provider')dnl
dnl #
dnl #
define(`SMART_HOST', `smtpサーバ名')dnl
MASQUERADE_AS(`メール送信元ドメイン名')dnl
FEATURE(`masquerade_envelope')dnl
dnl #




postfixの設定 ( /etc/postfix/mail.cf )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# INTERNET OR INTRANET
 
# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
#
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
#
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
#
# If you're connected via UUCP, see also the default_transport parameter.
#
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = smtpサーバ名
 
(中略)
 
# ADDRESS REWRITING
#
# The ADDRESS_REWRITING_README document gives information about
# address masquerading or other forms of address rewriting including
# username->Firstname.Lastname mapping.
masquerade_domains = メール送信元ドメイン名



この記事かくときに見つけた、MTA各種の説明がされているページ。よさそうなので、ご紹介。
http://www.criterion.sc/sub_notes/postfix.html

行きたいお店ーひげたか

いつもおせわになっている、cafe fenugreekのすぐ近くに、「ひげたか」という洋食屋さんがあります。今年になってオープンしてて、オープン当初オムライスを推してた立て看板を出していたので、気になってました。あのへんに行くとfenugreekに行ってしまうので、まだ行ったことないんですが、今回メンズ・ノンノに取り上げられていたのを見つけて、思い出しました。あ、そういえば、行きたいって思ってたなーと。

お酒に合う料理もあるし、ワインもオーナーさんのこだわりや趣味嗜好が反映されているようです。

ひげたかとfenugreekは、まかない交換を時々やってるみたいで、fenugreekの人もおいしいよーって言ってて、期待大!
また、行くのを忘れないように、メモっておきます。ここに書いたことが一番忘れない。

ひげたか
http://r.tabelog.com/tokyo/A1317/A131701/13130186/

ひげたかtwitter
https://twitter.com/#!/higetakatokyo

La vie a la Campagne

今年の2月頃にできたお店。パン屋さんで、カフェスペースもあって、服も売ってる。メインはパン屋さんだと思う。

OZ Magagineに紹介された際の紹介文はこちら。

鎌倉のラ・メゾン・アンシエンヌなどを手がけるオーナーが、2月にオープン。古民家を改装しフランスやベルギーのアンティークをしつらえたカフェスペースは、まるで映画の中に紛れ込んだような気分に。早朝から焼かれるパンをいただきながら、その空間を楽しみたい。

Tel: 03-6412-7350
address: 目黒区上目黒2-24-12
open: 09:00 – 22:00

服は僕には似合わなそうなリネンとか使ったナチュラルな感じが多かった。カフェスペースは2Fにあったので、見る機会はなかったけど、食べログの写真で見ると、ゆっくりご飯なり、お茶なりできそうな感じです。

今回は、「おすすめのパンをください」とお願いして、ドライフルーツが入ったハードなパンと、ミルクパンを頂きました。ミルクパンも美味しかったけど、印象に残ったのは、ドライフルーツのパン!これが好みでした。ほんとにハードで、大きさも結構あるので、食べ終わる頃には多少アゴ関節が痛くなるくらい。でも、美味しい。また買いに行こうと思います。

祐天寺のOTTOパンがなくなって、おいしいパンを買うところが1つ減ったところだったので、うれしい限りです。目黒川沿いに新しくできたっぽいパン屋も、今度のぞきにいってきます。

%d人のブロガーが「いいね」をつけました。