0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WordPress 自作テーマ作成時に使用した技術まとめ

Posted at

WordPressの基本事項は過去記事に記載
WP基本事項

投稿ページ一覧作成

参考記事
デフォルトでは投稿記事の一覧ページはトップページになっている為、ベット投稿ページ一覧を作りたいときは以下のコードをfunctions.phpへ記入する。


/* 投稿アーカイブページの作成 */
function post_has_archive( $args, $post_type ) {

	if ( 'post' == $post_type ) {
		$args['rewrite'] = true;
		$args['has_archive'] = 'blogs'; //任意のスラッグ名
	}
	return $args;

}
add_filter( 'register_post_type_args', 'post_has_archive', 10, 2 );

この後、管理画面の「設定」→「パーマリンク設定」→「変更を保存」をクリックすることで、
http://ブログサイトのURL/blogs/
で投稿記事のアーカイブページが表示されるようになる。
特段設定していなければarchive.phpがあればそれにあてがわれる。

詰まった所

  • カスタム投稿の一覧や通常の投稿一覧にページネーションを作成した時詰まった話。
    作成する際、phpのファイル上で

            <?php
            $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
            $the_query = new WP_Query(array(
                'post_status' => 'publish',
                'post_type' => 'work', //カスタム投稿タイプ名
                'paged' => $paged,
                'posts_per_page' => 3, // 表示件数
                'orderby'     => 'date',
                'order' => 'DESC'
            ));


            if ($the_query->have_posts()) : ?>

上記の様に表示件数を3件にしていたが、管理画面の設定では1ページに表示する記事を4件としていた。
そしてたまたま、投稿記事数が4件出会った為、phpファイル上では3件表示になってページネーションでの遷移先hoge.com/work/page/2は存在しないと表示された。
これは管理画面では1ページに割り当てされるのが4件のため、page/2が生成されていなかった。
WPの作成時はphpファイルと管理画面の紐付きも考慮が必要。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?