回答編集履歴
2
見直し。
test
CHANGED
@@ -27,12 +27,12 @@
|
|
27
27
|
endforeach;
|
28
28
|
endif;
|
29
29
|
|
30
|
-
e
|
30
|
+
return $result;
|
31
31
|
|
32
32
|
wp_reset_postdata();
|
33
33
|
|
34
34
|
}
|
35
35
|
```
|
36
36
|
やろうとしていることは、変数に、出力したいHTML文字列を連結して溜め込んで、
|
37
|
-
最後に `
|
37
|
+
最後に `return $result;`にする。
|
38
38
|
[PHP: 文字列 \- Manual](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc)のヒアドキュメント構文、変数のパースを参照のこと。
|
1
回答を全面的に見直します
test
CHANGED
@@ -1,8 +1,38 @@
|
|
1
1
|
HTMLを含んだ文字列を納める変数を立てて、
|
2
2
|
変数を加工したらいいんじゃないですかね。
|
3
3
|
|
4
|
-
た
|
4
|
+
念のためWordPress関数を調べてみる:
|
5
|
-
|
5
|
+
[関数リファレンス/setup postdata \- WordPress Codex 日本語版](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/setup_postdata)
|
6
|
-
|
6
|
+
[テンプレートタグ/get posts \- WordPress Codex 日本語版](https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_posts)
|
7
|
-
|
7
|
+
これらが直接HTML出力することはなさそうなので、
|
8
|
+
こういう作戦にする。
|
9
|
+
|
10
|
+
```php
|
11
|
+
<?php
|
12
|
+
<?php
|
13
|
+
public static function get_html() {
|
14
|
+
|
15
|
+
$args = array(省略);
|
16
|
+
$posts = get_posts($args);
|
17
|
+
|
18
|
+
$result = '';
|
19
|
+
|
20
|
+
if ($posts) :
|
21
|
+
foreach ($posts as $post) :
|
22
|
+
setup_postdata($post);
|
23
|
+
$result .= <<<EOT
|
24
|
+
<h1>{$post->post_title}</h1>
|
25
|
+
<p>テスト</p>
|
26
|
+
EOT;
|
27
|
+
endforeach;
|
28
|
+
endif;
|
29
|
+
|
30
|
+
echo $result;
|
31
|
+
|
32
|
+
wp_reset_postdata();
|
33
|
+
|
34
|
+
}
|
35
|
+
```
|
8
|
-
|
36
|
+
やろうとしていることは、変数に、出力したいHTML文字列を連結して溜め込んで、
|
37
|
+
最後に `echo $result;`を置いて出力するか、`return $result;`にする。
|
38
|
+
[PHP: 文字列 \- Manual](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc)のヒアドキュメント構文、変数のパースを参照のこと。
|