WordPressテーマ必須関数
プラグインを動作させるための必須関数
wp_head()
閉じheadタグの前で「wp_head()」を呼び出します。
<?php wp_head(); ?> </head>
wp_footer()
閉じbodyタグの前で「wp_footer()」を呼び出します。
<?php wp_footer(); ?> </body>
テーマCSS読み込み
get_stylesheet_uri()
テーマフォルダ内「style.css」までのURLを返します。
headタグ内でテーマフォルダ内の「style.css」を読み込みます。「echo」で出力することを忘れずに!
<link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>">
タイトルタグ出力
wp_title( ‘|’, true, ‘right’ )
現在のページのタイトルを表示または取得します
bloginfo(‘name’)
管理画面の「設定 > 一般」で設定された「サイトのタイトル」を表示
ページのタイトルとサイト名を表示します。
<title><?php wp_title( '|', true, 'right' ); ?><?php bloginfo('name'); ?></title>
WordPress4.4以降
「wp_title()」はWordPress4.4以降で非推奨になっています。
「functions.php」に以下のコードを記述することで「タイトル – サイト名」と出力されます。
「wp_head()」で自動的にタイトルが出力されるため、headタグ内の「title要素」を削除します。
add_theme_support( 'title-tag' );
区切り文字を変更する場合は以下の記述で変更します。
function custom_document_title_separator( $separator ) { $separator = '|'; return $separator; } add_filter( 'document_title_separator', 'custom_document_title_separator' );
外部ファイル読み込みを絶対パスに変更
get_stylesheet_directory_uri()
現在使用しているテーマフォルダまでのURLを返します。
例)「テーマフォルダ > img > logo.png」を表示
<img src="<?php echo get_stylesheet_directory_uri(); ?>/img/logo.png" alt="ロゴ">
ページ情報表示用ループ
管理画面から入力された情報はすべてデータベースに蓄積されます。
WordPressはページを表示する際、URLから必要なテンプレートとデータベース情報を特定します。
必要情報をテンプレート内で使用するためには表示用ループを記述します。
ループ開始
<?php /***** メインループ開始 *****/ ?>
<?php if (have_posts()) :?>
<?php while (have_posts()) : the_post(); ?>
コピペ用
<?php /***** メインループ開始 *****/ ?> <?php if (have_posts()) :?> <?php while (have_posts()) : the_post(); ?>
ループ終了
<?php endwhile; ?>
<?php endif; ?>
<?php /***** メインループ終了 *****/ ?>
コピペ用
<?php endwhile; ?> <?php endif; ?> <?php /***** メインループ終了 *****/ ?>
ページ情報表示用関数
関数名 | 内容 |
---|---|
the_title() | タイトル表示 |
the_excerpt() | 抜粋文表示 |
the_content() | 本文表示 |
the_time(‘Y年m月d日’) | 投稿日表示 |
the_permalink() | ページのURLを表示 |
アイキャッチ画像表示用関数
「functions.php」に以下のコードを記述することでアイキャッチ機能が有効になります。
add_theme_support(‘post-thumbnails’);
add_theme_support('post-thumbnails');
アイキャッチ画像表示
<?php
if (has_post_thumbnail()) {
the_post_thumbnail();
}else{
echo ‘<img src=”‘.get_template_directory_uri().’/img/no-image.png” alt=”‘.get_the_title().'”>’.PHP_EOL;
}
?>
コピペ用
<?php if (has_post_thumbnail()) { the_post_thumbnail(); }else{ echo '<img src="'.get_template_directory_uri().'/img/no-image.png" alt="'.get_the_title().'">'.PHP_EOL; } ?>