teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2020/03/14 08:40

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -27,13 +27,34 @@
27
27
 
28
28
  であれば、87行目 の`variation_price =` は、 `$variation_price =` ということはないですか?
29
29
 
30
+ ----
30
31
 
32
+ ショートコード化について
31
33
 
34
+ > <?php
35
+ > variation_price = get_variation_price_by_id(9, 15);
36
+ > echo $variation_price -> display_regular_price;
37
+ > echo $variation_price -> display_price;
38
+ > ?>
32
39
 
40
+ を実行すれば、問題なく表示できて、これをショートコード化して、 `[variation_price regular_id=9 variation_id=15]` のように投稿の本文に記載して実行したいということですか?
33
41
 
42
+ [ショートコード API](https://wpdocs.osdn.jp/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89_API) にあるように「属性を持つショートコード」として作成します。
34
43
 
35
- <?php
44
+ 表示部分をそのまま当てはめると
36
- variation_price = get_variation_price_by_id(9, 15);
45
+
37
- echo $variation_price -> display_regular_price;
46
+ ```
38
- echo $variation_price -> display_price;
47
+ function variation_price_tt357874( $atts ) {
48
+ $prm = shortcode_atts( array(
49
+ 'regular_id' => '0', // デフォルト値
50
+ 'variation_id' => '0', // デフォルト値
39
- ?>
51
+ ), $atts );
52
+
53
+ $variation_price = get_variation_price_by_id($prm['regular_id'], $prm['variation_id']);
54
+ $ret = $variation_price->display_regular_price ."\n". $variation_price->display_price . "\n";
55
+ return $ret;
56
+ }
57
+ add_shortcode( 'variation_price', 'variation_price_tt357874' );
58
+ ```
59
+
60
+ のような感じで定義します。

1

追記

2020/03/14 08:40

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -25,4 +25,15 @@
25
25
  > echo $variation_price -> display_regular_price;
26
26
  > echo $variation_price -> display_price;
27
27
 
28
- であれば、87行目 の`variation_price =` は、 `$variation_price =` ということはないですか?
28
+ であれば、87行目 の`variation_price =` は、 `$variation_price =` ということはないですか?
29
+
30
+
31
+
32
+
33
+
34
+
35
+ <?php
36
+ variation_price = get_variation_price_by_id(9, 15);
37
+ echo $variation_price -> display_regular_price;
38
+ echo $variation_price -> display_price;
39
+ ?>