wackeyの“くらしメモ”と“しごとメモ”。そしてWebが好き

[Mu]ムジログ

WordPress

Day6"カスタムフィールドをマスターせよ"

投稿日:

本日も無事生放送が終了しました。

今日は夕方頃ひらめき、20時から突貫工事でカスタムフィールドを応用した事例を作成しました。

動画アーカイブと関連ソースを公開します。


使用したプラグイン

Custom Field GUI Utility - WordPress プラグイン - かたつむりくんのWWW

最新版ダウンロードのバージョン1.0を使用しました。

※写真のアップロードからのURL入力がうまくいかなかったのですが、画像URLをテキストで打てば、なんとか使えました。

プラグインの設定

使用するカスタムフィールドをあらかじめ設定ファイルに書き込んでおきます(フィールド名を英数字半角で設定しておく)

※今回の設定例

conf-common.ini内は空っぽにする

conf-post.iniを下記のように記述した。それぞれの項目についての説明はプラグインダウンロードページの解説を読んでください。

[shop_post]

fieldname = 店名

type = textfield

size = 35

sample = 店の名前を全角17文字以内で入力

[shopphoto_post]

fieldname = 店内写真

idname = shopphoto_idname_post

type = imagefield

size = 70

sample = 店内の写真をアップロードします

[tabetamono_post]

fieldname = 食べた物

type = textfield

size = 35

sample = 食べた物の名前を全角17文字以内で入力

[kinen_post]

fieldname = 禁煙席

type = radio

value = あり # なし

default = あり

sample = 禁煙席の有無について入力します

[shopmap_post]

fieldname = お店の地図

type = textarea

rows = 4

cols = 40

sample = Googleマップの地図をコピペ

[chiiki_post]

fieldname = 地域

type = textfield

size = 35

sample = 地域を17文字以内で入力

カスタムフィールドを表示させるデザインテーマ内のsingle.phpに下記のように書き込んだ(シャレじゃないですよ)。

お店情報の表は

<table border="1" cellpadding="4px">

<tr>

<td bgcolor="#EFEFEF" width="150px">お店の名前</td>

<td width="330px"><?php echo post_custom('shop_post'); ?></td>

</tr>

<tr>

<td bgcolor="#EFEFEF" width="150px">食べたもの</td>

<td width="330px"><?php echo post_custom('tabetamono_post'); ?></td>

</tr>

<tr>

<td bgcolor="#EFEFEF">お店の写真</td>

<td><img src="<?php echo post_custom('shopphoto_post'); ?>" alt="" /></td>

</tr>

<tr>

<td bgcolor="#EFEFEF">禁煙席</td>

<td><?php echo post_custom('kinen_post'); ?></td>

</tr>

<tr>

<td bgcolor="#EFEFEF">お店の地域</td>

<td><?php echo post_custom('chiiki_post'); ?><br/><a href="http://web.travel.rakuten.co.jp/portal/my/tabimado_search.main?f_max=10&f_format=long&f_query=<?php $chiiki = post_custom('chiiki_post');$chiikisjis = urlencode(mb_convert_encoding($chiiki, "SJIS","utf-8"));echo $chiikisjis; ?>"><?php echo post_custom('chiiki_post'); ?>のホテルを探す</a></td>

</tr>

</table>

お店の地域のテキスト文字をシフトJISに変換してURLエンコードした文字列を楽天トラベルの検索パラメーターとしてリンクを生成しています。

お店の地図はGoogleマップの<iframe~のタグを管理画面で入力してそれを表示させています。

<strong>お店の地図</strong><br />

<?php echo post_custom('shopmap_post'); ?>

食べたものを検索文字列としてYAHOO!ショッピング内を検索し、売れている順番で出力します。

<?php

require_once("XML/RSS.php");

$xmlrss = new XML_RSS("http://shopping.yahoo.co.jp/search/rss?p=" . urlencode(post_custom('tabetamono_post')) . "&X=4");

$xmlrss->parse();

$info = $xmlrss->getChannelInfo();

$info['title'] = mb_convert_encoding($info['title'], 'UTF-8', 'auto');

$info['description'] = mb_convert_encoding($info['description'], 'UTF-8', 'auto');

?>

<H4><A href="<?=$info['link']?>"><?=$info['title']?></A>売れ筋ランキングベスト20!</H4>

<FONT size="2"><UL>

<?php

foreach ($xmlrss->getItems() as $item) {

    $title = mb_convert_encoding($item['title'], 'UTF-8', 'auto');

?>

    <LI><A href="http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&pid=877212733&vcptn=shpg%2Fp%2Ffuc0.3eBMdxzfZxNTdfnn2U-&vc_url=<?php echo urlencode($item['link']);?>"><?=$title?></A><br />

    <?php echo $item['description']; ?></LI>

<?php

}

?>

PHPPEARライブラリを使っています。コアサーバーにはインストール済みなので気軽に使ってしまいました。

食べた物をキーワードとしてURLエンコードして検索RSSURLを生成します。

返ってきたURLをYAHOO!ショッピングアフィリエイトURLになるようにリンクURLを合成します。

vcptn=shpg%2Fp%2Ffuc0.3eBMdxzfZxNTdfnn2U-

パラメーターの赤い部分が自分自身のYAHOO!アフィリエイトIDです。

(たぶん、これで大丈夫だと思いますが、検証はしていませんが、アフィリエイトクッキーが発行されているかどうかブラウザで確認すればOKです)

cookieがyahoo.co.jpドメインで発行されていることを確認しました。

 

-WordPress

Copyright© [Mu]ムジログ , 2018 All Rights Reserved Powered by AFFINGER5.