WordPressでよく使うテンプレートタグをまとめています。
共通で使うテンプレートタグ
ヘッダー読み込み
<?php get_header(); ?> // header.php読み込み
<?php get_header('top'); ?> // header-top.php読み込み
フッター読み込み
<?php get_footer(); ?> // footer.php読み込み
<?php get_footer('top'); ?> // footer-top.php読み込み
サイドバー読み込み
<?php get_sidebar(); ?> // sidebar.php読み込み
<?php get_sidebar('top'); ?> // sidebar-top.php読み込み
テンプレート読み込み
<?php get_template_part('テンプレート名'); ?>
テンプレート名をつけて固定ページで呼び出す
page.phpやpage-[スラッグ].phpのget_header();の上に
<?php /* Template Name: テンプレート名 */ ?>
固定ページ編集画面のサイドバーで選べるようになる。
プラグインを呼び出すタグ
<!-- ヘッドタグ閉じタグ直前 -->
<?php wp_head(); ?>
<!-- body閉じタグ直前 -->
<?php wp_footer(); ?>
記述しないと正しくプラグインが動作しないので注意。
タイトルタグ
<?php wp_title('|', true, 'right'); ?><?php bloginfo('name'); ?>
style.cssの読み込み
<?php bloginfo ('stylesheet_url'); ?>
画像やファイルの読み込み
<?php echo get_template_directory_uri(); ?>
この後ろにディレクトリやファイル名を入力すると、読み込まれます。
記事一覧ページで使うテンプレートタグ
記事タイトル出力
<?php the_title(); ?>
記事リンクを出力
<a href="<?php the_permalink(); ?>">
// 記事へのリンク
</a>
記事の抜粋文を出力
<?php the_excerpt(); ?>
抜粋文からpタグを削除
<?php echo get_the_excerpt(); ?>
抜粋文の末尾を変更
functions.phpに記述
function new_excerpt_more($more) {
return '...';
}
add_filter('excerpt_more', 'new_excerpt_more');
抜粋文の文字数を変更
functions.phpに記述
function twpp_change_excerpt_length( $length ) {
return 50;
}
add_filter( 'excerpt_length', 'twpp_change_excerpt_length', 999 );
サムネイル表示
functions.php
//アイキャッチ画像を有効化
add_theme_support('post-thumbnails');
// サムネイルのサイズを追加
add_image_size( 'image564', 564, 387, true);
add_image_size( 'サムネイル名', widthサイズ, heightサイズ, true(切り取る) or false(切り取らない));
widthサイズ・heightサイズは『9999』と入力すると、自動縮小になる。切り取りに関しては、デフォルトは『false』。切り取らない場合は記述なしで大丈夫です。
各ページテンプレート
<?php the_post_thumbnail('サムネイル名'); ?>
サムネイル名を記述しなければそのままの画像サイズで出力
一覧ページでのページネーション
functions.php
<?php
function pagenation($pages = '', $range = 2){
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == ''){
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages){
$pages = 1;
}
}
if(1 != $pages){
echo "<div class=\"pagenation\">\n";
echo "<ul>\n";
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? "<li class=\"js_hover\">".$i."</li>\n":"<li class=\"js_hover\"><a href='".get_pagenum_link($i)."'><span>".$i."</span></a></li>\n";
}
}
echo "</ul>\n";
echo "</div>\n";
}
};
?>
アーカイブページのテンプレート
<?php
if (function_exists("pagenation")) {
pagination($additional_loop->max_num_pages);
}
?>
endwhile;とendif;の間に入力。
日付を出力
<time datetime="<?php the_time('c'); ?>" pubdate="pubdate"><?php the_time('Y.m.d'); ?></time>
<time datetime="<?php the_time('c'); ?>" pubdate="pubdate"><?php the_date('Y.m.d'); ?></time>
『the_date();』は同じ日付を連続で出力できないため、『the_time();』を使う方がいい。