回答編集履歴

1

コード追加

2021/03/23 07:57

投稿

gogoweb_ikeda
gogoweb_ikeda

スコア1426

test CHANGED
@@ -7,3 +7,169 @@
7
7
  対応するelseが必要ではないでしょうか?
8
8
 
9
9
  現状ですと上のif文が閉じていないためにエラーが出ているのだと思います。(elseの他に末尾にendifも必要ですね)
10
+
11
+
12
+
13
+ 【追記】
14
+
15
+ 動作確認していませんが下記のコードでどうなりますでしょうか?
16
+
17
+ また、エラーがでる場合エラーメッセージも追記お願いします。
18
+
19
+ ```PHP
20
+
21
+ <!--関連商品-->
22
+
23
+ <section>
24
+
25
+ <?php
26
+
27
+ $categories = get_the_category($post->ID);
28
+
29
+ $category_ID = array();
30
+
31
+ foreach($categories as $category):
32
+
33
+ array_push( $category_ID, $category -> cat_ID);
34
+
35
+ endforeach ;
36
+
37
+ $args = array(
38
+
39
+ 'post__not_in' => array($post -> ID),
40
+
41
+ 'posts_per_page'=> 5,//defaultは10
42
+
43
+ 'category__in' => $category_ID,
44
+
45
+ 'orderby' => 'rand',
46
+
47
+ );
48
+
49
+ $st_query = new WP_Query($args); ?>
50
+
51
+ <?php if( $st_query -> have_posts() ): ?>
52
+
53
+ <?php while ($st_query -> have_posts()) : $st_query -> the_post(); ?>
54
+
55
+ <h4>関連商品</h4>
56
+
57
+ <div>
58
+
59
+ <dl>
60
+
61
+ <dt class="thumbBox">
62
+
63
+ <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
64
+
65
+ <?php if ( has_post_thumbnail() ): // サムネイルを持っているときの処理 ?>
66
+
67
+ <?php
68
+
69
+ $title= get_the_title();
70
+
71
+ the_post_thumbnail(array( 300,300 ),
72
+
73
+ array( 'alt' =>$title, 'title' => $title)); ?>
74
+
75
+ <?php else: // サムネイルを持っていないときの処理 ?>
76
+
77
+ <img src="<?php echo get_template_directory_uri(); ?>/images/NoImg.png" alt="no image"
78
+
79
+ title="no image" width="150" height="150" />
80
+
81
+ <?php endif; ?>
82
+
83
+ </a>
84
+
85
+ </dt>
86
+
87
+ <dd>
88
+
89
+ <h5 class="entry-title">
90
+
91
+ <a
92
+
93
+ href="<?php the_permalink(); ?>"><?php echo mb_substr( $post->post_title, 0, 30) . '...'; ?></a>
94
+
95
+ </h5>
96
+
97
+ </dd>
98
+
99
+ </dl>
100
+
101
+ </div><!-- /.entry -->
102
+
103
+ <?php endwhile; ?>
104
+
105
+ <?php else:?>
106
+
107
+
108
+
109
+ <!-- 関連商品がない時、別カテゴリーの商品一覧を追加したい -->
110
+
111
+ <?php query_posts('cat=1,2'); ?>
112
+
113
+ <!--カテゴリーID:例えば1,2のカテゴリーを指定-->
114
+
115
+ <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
116
+
117
+ <h4>別カテゴリーの商品一覧</h4>
118
+
119
+ <div class="entry">
120
+
121
+ <dl>
122
+
123
+ <dt class="thumbBox">
124
+
125
+ <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
126
+
127
+ <?php if ( has_post_thumbnail() ): // サムネイルを持っているときの処理 ?>
128
+
129
+ <?php
130
+
131
+ $title= get_the_title();
132
+
133
+ the_post_thumbnail(array( 300,300 ),
134
+
135
+ array( 'alt' =>$title, 'title' => $title)); ?>
136
+
137
+ <?php else: // サムネイルを持っていないときの処理 ?>
138
+
139
+ <img src="<?php echo get_template_directory_uri(); ?>/images/NoImg.png" alt="no image"
140
+
141
+ title="no image" width="150" height="150" />
142
+
143
+ <?php endif; ?>
144
+
145
+ </a>
146
+
147
+ </dt><!-- /.thumbBox -->
148
+
149
+ <dd>
150
+
151
+ <h5 class="entry-title">
152
+
153
+ <a
154
+
155
+ href="<?php the_permalink(); ?>"><?php echo mb_substr( $post->post_title, 0, 30) . '...'; ?></a>
156
+
157
+ </h5>
158
+
159
+ </dd>
160
+
161
+ </dl>
162
+
163
+ </div><!-- /.entry -->
164
+
165
+
166
+
167
+ <?php else: ?>
168
+
169
+ <p>関連商品はありませんでした←これは本当はいらない</p>
170
+
171
+ <?php endif;wp_reset_postdata();?>
172
+
173
+ <?php endif;?>
174
+
175
+ ```