回答編集履歴

3

コメント追加

2019/06/15 05:40

投稿

Tomak
Tomak

スコア1652

test CHANGED
@@ -26,6 +26,26 @@
26
26
 
27
27
 
28
28
 
29
+ /**
30
+
31
+ * アフィリエイト用タグ出力
32
+
33
+ *
34
+
35
+ * ◎ショートコード
36
+
37
+ * [affiliate 属性名='アフィリエイトID']
38
+
39
+ * [affiliate 'アフィリエイトID']
40
+
41
+ *
42
+
43
+ * @param array $args array('アフィリエイトID') or array('vc_mylinkbox_id' => 'アフィリエイトID')
44
+
45
+ * @return string アフィリエイト用HTML文字列
46
+
47
+ */
48
+
29
49
  add_shortcode('affiliate', function ($args = [])
30
50
 
31
51
  {
@@ -40,9 +60,17 @@
40
60
 
41
61
  $keys = array_keys($args);
42
62
 
63
+
64
+
65
+ // 引数にアフィリエイト属性名(連想配列キー)がない場合「'vc_mylinkbox_id'」を補完
66
+
43
67
  $attr = is_numeric($keys[0]) ? 'vc_mylinkbox_id' : $keys[0];
44
68
 
69
+
70
+
71
+ // アフィリエイトID
72
+
45
- $id = array_shift($args);
73
+ $id = array_shift($args);
46
74
 
47
75
 
48
76
 

2

バグ修正2:return の $args も要変更だった

2019/06/15 05:40

投稿

Tomak
Tomak

スコア1652

test CHANGED
@@ -42,9 +42,11 @@
42
42
 
43
43
  $attr = is_numeric($keys[0]) ? 'vc_mylinkbox_id' : $keys[0];
44
44
 
45
+ $id = array_shift($args);
45
46
 
46
47
 
48
+
47
- return '<div '. $attr .'="'. $args[0][$attr] .'"></div>';
49
+ return '<div '. $attr .'="'. $id .'"></div>';
48
50
 
49
51
  });
50
52
 

1

バグ修正:array_keys($args[0]) → array_keys($args)

2019/06/15 05:26

投稿

Tomak
Tomak

スコア1652

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- $keys = array_keys($args[0]);
41
+ $keys = array_keys($args);
42
42
 
43
43
  $attr = is_numeric($keys[0]) ? 'vc_mylinkbox_id' : $keys[0];
44
44