Welcartの商品情報編集ページにメタボックスを追加したい。しかし、ただ普通にadd_meta_boxes
にフックしてadd_meta_box()
を実行させるだけでは通常の投稿編集ページにもメタボックスが追加されてしまいます。
add_meta_boxesには投稿タイプ用のアクション名も用意されていますが、Welcartの商品情報編集ページはカスタム投稿タイプで実装されてはいない模様(というかWelcartの商品の投稿タイプは’post’ですしね)。
となって悩んで調べたのですが、今回はとあるWelcart専用プラグインのコードを参考にさせていただきました。
商品情報編集ページにのみメタボックスを追加
メタボックスを追加するコードはこんな感じです。
function add_custom_metabox() {
$itemcode = ''; $page = '';
if ( isset($_GET['post']) ) $itemcode = get_post_meta( absint($_GET['post']), '_itemCode', true );
if ( isset($_GET['page']) ) $page = $_GET['page'];
if ( $page == 'usces_itemedit' || $page == 'usces_itemnew' || $itemcode ) {
add_meta_box( 'item-metabox', '商品情報編集メタボックス', 'metabox_contents', 'post', 'side', 'low' );
}
}
add_action( 'add_meta_boxes', 'add_custom_metabox' );
function metabox_contents() {
//メタボックスの内容
}
$_GET
に格納されている値で判定してるんですね。6行目でメタボックスを追加しています。
コードの参考になったプラグイン
参考にさせて頂いたWelcart専用プラグインは「Welcart Custom Media Uploader」というものです。
このプラグインが解決してくれる問題は商品画像のアップロード。一々メディアページを開いて画像を追加していくのは面倒ですよね。これを商品情報編集ページで記事編集と同時に画像のアップロード&リネームを行うというもの。実際使ってみるとかなり便利でした。オススメです。
Welcartの商品情報ページから画像をアップロード&登録する : weblog by web.contempo.jp
WORDPRESSやPHP、jQueryなどのTIPSからブックマークなどウェブ制作に役立ちそうなものを書き留めています。