しょっちゅう使うわけではないけれど、ワードプレスを使うサイトが多くなってきたことに伴い使う頻度は増えてきたワードプレスの関数をその都度調べて記述するのもめんどくさくなってきたのでまとめてみました。
● まずは、htmlファイルでphpを読み込むときに必要な.htaccessへの記述
AddType application/x-httpd-php .php .html AddHandler application/x-httpd-php .php .html
※エックスサーバーの場合には上記記述ではなく、以下のいずれかが必要
※phpのバージョンは使用環境に合わせる
AddHandler fcgid-script .html AddHandler x-httpd-php7.2 .php .phps .html
● htmlファイルでphpを読み込むときは.htaccessへの記述とともにphpを読み込みたいhtmlごとに以下の記述が必要
※htmlファイルの1行目に記述する
※相対指定なので、環境に合わせてwp-load.phpを指定する
<?php require('./blog/wp-load.php'); ?>
● 投稿の項目表示一覧
<!-- テーマテンプレートURL --> <?php echo get_template_directory_uri(); ?> <!-- タイトル --> <?php the_title();?> <!-- 本文 --> <?php the_content();?> <!-- 抜粋 --> <?php the_excerpt();?> <!-- タグ --> <?php the_tags();?> <!-- カテゴリ --> <?php the_category();?> <!-- サムネイル画像(アイキャッチ) --> <?php the_post_thumbnail();?> <!-- ファイル名(スラッグ) --> <?php echo $post->post_name;?> <!-- 公開日付 --> <?php the_date();?> <!-- サムネイル画像(アイキャッチ)のURL --> <?php if ( has_post_thumbnail() ) { $image_id = get_post_thumbnail_id (); $image_url = wp_get_attachment_image_src ($image_id, true); echo $image_url[0]; } else { echo get_bloginfo( 'template_directory' ) . '/images/thumbnail.png'; } ?> <!-- 最新の投稿5件を表示 --> <ul> <?php $args = array( 'posts_per_page' => 5 // 表示件数の指定 ); $posts = get_posts( $args ); foreach ( $posts as $post ): // ループの開始 setup_postdata( $post ); // 記事データの取得 ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php endforeach; // ループの終了 wp_reset_postdata(); // 直前のクエリを復元する ?> </ul>
●特定投稿の項目表示一覧
<!-- サムネイル画像(アイキャッチ) --> <?php echo get_the_post_thumbnail(記事ID ); ?> <!-- タイトル --> <?php get_the_title( 記事ID ); ?> <!-- URL --> <?php get_permalink( 記事ID ); ?> <!-- 本文 --> <?php echo get_post( 記事ID )->post_content; ?> <!-- 本文(改行あり) --> <?php $post_id = 記事ID; $post = get_post($post_id); echo apply_filters('the_content',$post->post_content); ?> <!-- サムネイル画像(アイキャッチ)のURL --> <?php echo wp_get_attachment_url(get_post_thumbnail_id(記事ID)); ?>
● 基本的なループ
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <!-- 内容 --> <div><?php the_content(); ?></div> <?php endwhile; else: ?> <!-- 投稿なし --> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>
● 特定のカテゴリを特定件数表示
<?php $posts = get_posts(array( 'posts_per_page' => 2, // 表示件数 'category' => '1' // カテゴリID/スラッグ名 )); ?> <?php if($posts): foreach($posts as $post): setup_postdata($post); ?> <!--表示する内容が入ります。--> <hn><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></hn> <p><?php the_time('Y/m/d') ?></p> <p><?php the_excerpt(); ?></p> <p><a href="<?php the_permalink() ?>">続きを見る</a></p> <!--表示する内容ここまで--> <?php endforeach; endif; ?>
● ページング
<!--アーカイブページの場合--> the_posts_navigation( array( 'prev_text' => '< 古い投稿', 'next_text' => '新しい投稿 >' ) ); <!--シングルページの場合--> the_post_navigation( array( 'prev_text' => '< 古い投稿', 'next_text' => '新しい投稿 >' ) );
● サイドバーとかで
<!--カレンダー--> <?php get_calendar(); ?> <!--アーカイブ特定件数--> <ul> <?php wp_get_archives( 'type=postbypost&limit=5' ); ?> </ul> <!--カテゴリー一覧--> <ul> <?php wp_list_categories( 'title_li=' ); ?> </ul>