Wordpress/Movable Type

2015年12月24日 at 5:53 PM

WordPress Welcartで、商品情報の任意の値(Post Name)からページID(投稿ID)を取得する方法

WordPressのショッピングカートプラグイン・Welcartで、関連商品の一覧ブログパーツを商品詳細ページ下などに自作して設置したいときに厄介なのが、

関連商品の「Post_ID」や「商品コード」を指定することで、商品名や商品価格を表示するための関数がないことです。

 

 

商品名や商品価格などを取得するには、以下のようにページID(投稿ID、記事ID)の指定が必要になります。

 

$syo_tax_bara_bai = get_post_meta($post->ID , ‘バラ販売価格税込’ ,true);

 

 

ピンク文字の部分、つまりページIDを取得する関数は・・・というと「(ポスト名から)usces_get_page_ID_by_pname」とか「(商品コードから)$page_id = $usces->get_postIDbyCode( $item_code );」で出来そうにマニュアルからは見えますが、試してみましたが出来ませんでした。

 

 

 

とすると、Wordpress本体の基礎に戻って、スラッグ名から「$page_id = get_page_by_path(スラッグ名)->ID;」で出来そうな気がするのでやってみましたが出来ませんでした。

 

 

 

結局出来たのは、ページURLからページIDを取得する方法です。結局スラッグを指定するわけですが、スラッグは、Welcartの商品マスター項目の「Post Name」と同じものなので、苦労しません。

 

 

$oss_url = get_bloginfo( ‘home’ );
$oss_url  = $oss_url . “/” . “スラッグ名” . “/”;
$oss_id  = url_to_postid( $oss_url );

$oss_syo_tax_bara_bai = get_post_meta($oss_id , ‘バラ販売価格税込’ ,true);

 

$oss_syo_code = get_post_meta($oss_id , ‘_itemCode’, true);    // 商品コード
 $oss_syo_name = get_post_meta($oss_id , ‘_itemName’, true);  // 商品名

 

 

これなら採れました。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



こちらの関連記事もオススメ!