旧さびぬき覚書

webを作っていてつまずいた所やその他解決したことを書いたりするブログです。

【wordpress】商品一覧ページを作る その3

その1
【wordpress】商品一覧ページを作る その1 - さびぬき覚書

その2
【wordpress】商品一覧ページを作る その2 - さびぬき覚書



products.phpを作る

やっと固定ページを使用してhttp://●●●/products/のようなアドレスの商品一覧ページを作ります。

まず新規でproducts.phpを制作し、以下を記述。

<?php
/*
Template Name: products
*/
?>

<?php get_header(); ?>

<div class="container">
	<p>すべての商品</p>
	<?php
		$args = array(
			'post_type' => 'products',
			post__not_in' =>  array($post->ID),
			'posts_per_page' => -1,
		);
	?>
	<div class="products_list">
		<?php $myposts = get_posts($args); ?>
		<?php
			foreach($myposts as $post) : setup_postdata($post);
		?>
						
		<div class="post">
			<div class="products_thum"><a href="<?php the_permalink() ?>"><?php the_post_thumbnail(array(auto,300)); ?></a></div>
			<div class="products_title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></div>
			<div class="product_ctgy">
				<?php
					$terms = get_the_terms($post->ID,'products_category');
					foreach( $terms as $term ) {
						echo '<span>'.$term->name.'</span>';
					}
				?>
			</div>
		</div>
		<?php endforeach; ?>
	</div>
</div>
<?php get_footer(); ?>

基本的にはtaxonomy.phpと変わらないです。

上部のこの部分

<?php
/*
Template Name: products
*/
?>

これを記述すると、テンプレートとして固定ページに反映させることができます。

一旦保存してtaxonomy.phpをアップした所と同じ階層にproducts.phpもアップします。


productsページ(商品一覧ページ)を作る

wordpressの管理画面に戻り、固定ページ▶新規追加でproducctsページを制作します。
f:id:sbnk4030:20190424100344p:plain
・固定ページタイトル:products(商品一覧ページでも何でも良いです)
パーマリンク:products(urlになります)
右側にページ属性▶テンプレートとあるので、そこで先程作った「products」を選択します。
以上ができたら公開します(cssはその2で読み込ませている&タクソノミーページとデザイン共通なので省きます)。


完成

ここまでできたら完成です!http://●●●/products/を見てみると…
f:id:sbnk4030:20190507115414p:plain

無事表示されました。
次の記事はおまけで値段表示させます。

おまけ(値段の表示)
【wordpress】商品一覧ページを作る おまけ(値段の表示) - さびぬき覚書