Learning site for website creation

WordPressテーマ必須関数

  • 投稿日:2019年06月30日

プラグインを動作させるための必須関数

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を表示

WordPressよく使う関数

アイキャッチ画像表示用関数

「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;
}
?>