回答編集履歴

2

追記

2020/03/14 08:40

投稿

CHERRY
CHERRY

スコア25216

test CHANGED
@@ -56,22 +56,64 @@
56
56
 
57
57
 
58
58
 
59
+ ----
59
60
 
60
61
 
61
62
 
63
+ ショートコード化について
62
64
 
63
65
 
64
66
 
67
+ > <?php
68
+
69
+ > variation_price = get_variation_price_by_id(9, 15);
70
+
71
+ > echo $variation_price -> display_regular_price;
72
+
73
+ > echo $variation_price -> display_price;
74
+
75
+ > ?>
65
76
 
66
77
 
67
78
 
79
+ を実行すれば、問題なく表示できて、これをショートコード化して、 `[variation_price regular_id=9 variation_id=15]` のように投稿の本文に記載して実行したいということですか?
68
80
 
69
- <?php
70
81
 
71
- variation_price = get_variation_price_by_id(9, 15);
72
82
 
73
- echo $variation_price -> display_regular_price;
83
+ [ショートコード 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) にあるように「属性を持つショートコード」として作成します。
74
84
 
75
- echo $variation_price -> display_price;
76
85
 
86
+
87
+ 表示部分をそのまま当てはめると
88
+
89
+
90
+
91
+ ```
92
+
93
+ function variation_price_tt357874( $atts ) {
94
+
95
+ $prm = shortcode_atts( array(
96
+
97
+ 'regular_id' => '0', // デフォルト値
98
+
99
+ 'variation_id' => '0', // デフォルト値
100
+
77
- ?>
101
+ ), $atts );
102
+
103
+
104
+
105
+ $variation_price = get_variation_price_by_id($prm['regular_id'], $prm['variation_id']);
106
+
107
+ $ret = $variation_price->display_regular_price ."\n". $variation_price->display_price . "\n";
108
+
109
+ return $ret;
110
+
111
+ }
112
+
113
+ add_shortcode( 'variation_price', 'variation_price_tt357874' );
114
+
115
+ ```
116
+
117
+
118
+
119
+ のような感じで定義します。

1

追記

2020/03/14 08:40

投稿

CHERRY
CHERRY

スコア25216

test CHANGED
@@ -53,3 +53,25 @@
53
53
 
54
54
 
55
55
  であれば、87行目 の`variation_price =` は、 `$variation_price =` ということはないですか?
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+ <?php
70
+
71
+ variation_price = get_variation_price_by_id(9, 15);
72
+
73
+ echo $variation_price -> display_regular_price;
74
+
75
+ echo $variation_price -> display_price;
76
+
77
+ ?>