WordPressのテーマ作成でよく使う関数をまとめてみる

結構な頻度で使うのになぜか一向に頭に入らないため、その都度調べて記述するのもめんどくさくなってきたのでまとめてみようとおもいます。

● 高頻度

//テーマテンプレートURL表示
<?php echo get_template_directory_uri(); ?>

//ワードプレスホームURL表示
<?php echo home_url(); ?>

//タイトル表示
<?php the_title(); ?>

//ID表示
<?php the_ID(); ?>

//本文表示
<?php the_content();?> 

//本文表示(改行あり)
<?php $post_id = 記事ID;
$post = get_post($post_id);
echo apply_filters('the_content',$post->post_content); ?> 

//抜粋表示
<?php the_excerpt();?> 

//公開日表示
<?php the_date();?> 

//更新日表示
<?php the_modified_date();?> 

//カテゴリー表示
<?php the_category(' '); ?> //リンク付き
<?php the_category(); ?> //リスト表示
<?php get_the_category(); ?> //リンクなし

//サムネイル画像表示
<?php the_post_thumbnail();?>

//サムネイル画像の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';
} ?>


//ファイル名(スラッグ
<?php echo $post->post_name;?> 

//投稿のパーマリンクURL
<?php the_permalink();?> 

//一つ前の投稿のURL
<?php previous_post_link();?> 

//一つ後の投稿のURL
<?php next_post_link();?>

//アーカイブページのページング
the_posts_navigation( array(
'prev_text'    => '< 古い投稿',
'next_text'    => '新しい投稿 >'
)
);

//シングルページのページング
the_post_navigation( array(
'prev_text'    => '< 古い投稿',
'next_text'    => '新しい投稿 >'
)
);

//最新の投稿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
$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; ?>

● 条件分岐

//トップページかどうか
is_home()

//フロントページかどうか
is_front_page()

//固定ページかどうか
is_page()

//投稿ページかどうか
is_single()

//アーカイブページかどうか
is_archive()

//検索ページかどうか
is_search()

//投稿があるかどうか
have_posts()

//サムネイルがあるかどうか
has_post_thumbnail()

//スマホ・タブレットかどうか
wp_is_mobile()

● htmlでワードプレスの関数を使用する場合

//.htaccessへの記述 
AddType application/x-httpd-php .php .html
AddHandler application/x-httpd-php .php .html

//エックスサーバーの場合には上記記述ではなく、以下のいずれかが必要
AddHandler fcgid-script .html
AddHandler x-httpd-php7.2 .php .phps .html

//phpを読み込みたいhtmlごとに以下の記述が必要
//htmlファイルの1行目に記述する
//相対指定なので、環境に合わせてwp-load.phpを指定する 
<?php require('./blog/wp-load.php'); ?>