よく使うWordPressのテンプレートタグや条件分岐
毎回書き方を探すという無駄を省くためのメモ。
bodyにIDやclassを追加して、スタイルシートファイルを読ませる条件も追加。
bodyのコード
<body id="<?php echo $body_id; ?>" <?php body_class(); ?>>
bodyの上に追加するコード
<?php
 //リセット
 $body_id = ""; 
 if ( is_home() || is_front_page() ) {
 //homeかfrontpageのときは
 $body_id = "top";
 ?>
 <link href="<?php bloginfo('template_url') ?>/common/css/swiper.min.css" rel="stylesheet" media="all">
 <link href="<?php bloginfo('template_url') ?>/common/css/top.css" rel="stylesheet" media="all">
 <?php
 //カスタム投稿newsreleasか、固定ページスラッグnewsか、カスタム投稿newsreleasの詳細ページのときは
 } else if ( get_post_type() == "newsreleas" || is_page( 'news' ) || is_singular( 'newsreleas' ) ) {
 $body_id = "news";
 //記事の詳細ページのときは
 if ( is_single() ) {
 //bodyのclassにsingleを追加
 $body_class = "single";
 ?>
 <link href="<?php bloginfo('template_url') ?>/common/css/post-content.css" rel="stylesheet" media="all">
 <?php } ?>
 <link href="<?php bloginfo('template_url') ?>/common/css/news.css" rel="stylesheet" media="all">
 <?php
 //投稿か、固定ページスラッグblogのときは
 } else if ( get_post_type() == "post" || is_page( 'blog' ) ) {
 //bodyのIDのblogを追加
 $body_id = "blog";
 ?>
 <link href="<?php bloginfo('template_url') ?>/common/css/blog.css" rel="stylesheet" media="all">
 //記事の詳細ページのときは
 <?php if(is_single()){  ?>
 <link href="<?php bloginfo('template_url') ?>/common/css/post-content.css" rel="stylesheet" media="all">
 <?php
 }
 }
 ?>
条件分岐タグ
特定のページにだけ表示したい要素がある場合
if ( is_front_page() && is_home() ) {// home.phpで作成、または、管理画面の設定の表示設定で固定ページをトップページにした場合
 //ここにトップページにだけ表示したい内容
 } elseif ( is_page() ) {// 固定ページ
 //ここに固定ページにだけ表示したい内容
 } elseif ( is_single() ) {// 投稿
 //ここに投稿にだけ表示したい内容
 } else {// それ以外
 //ここにそれ以外のページで表示したい内容
 }
特定のページから表示を除外したい場合
if ( !is_page('contact') ) {}
表示する条件から除外したいページが複数ある場合
if ( !( is_home() || is_front_page() || is_page('231') || is_page('183') ) ){}
複数の条件を繋ぐ場合
- || どちらかが真の場合に適用
- && どちらも真の場合に適用
- and どちらも真の場合に適用
テンプレートタグ
phpファイルの読み込み
header.php
<?php get_header(); ?>
footer.php
<?php get_footer(); ?>
sidebar.php
<?php get_sidebar(); ?>
検索フォーム
<?php get_search_form(); ?>
コメント
<?php comments_template(); ?>
オリジナルphp (優先順は下記)
 wp-content/themes/twentytenchild/loop-index.php
 wp-content/themes/twentyten/loop-index.php
 wp-content/themes/twentytenchild/loop.php
 wp-content/themes/twentyten/loop.php
<?php get_template_part( 'loop', 'index' ); ?>
サブディレクトリありオリジナルphp (例)wp-content/themes/partials/content-page.php
<?php get_template_part( 'partials/content', 'page' ); ?>
METAタイトルの出力
functions.phpに下記を追加。ウェブページ側に表示されないときは、header.phpに<?php wp_head(); ?>の記述があるか確認。なければ追加。
//meta titleを追加
 add_theme_support( 'title-tag' );
 //meta titleの区切りを線にする
 function title_sep( $sep ) {
 return '|';
 }
 add_filter( 'document_title_separator', 'title_sep' );
パーマリンク
<?php the_permalink();?>
日付
例 2019/12/30
<?php the_time('Y/m/d');?>
投稿タイトル
<?php the_title();?>
投稿本文
<?php the_content();?>
ブログのタイトル
<?php bloginfo('name'); ?>
ブログのURL
<?php echo esc_url( home_url( '/' ) ); ?>
WordPressのアドレス(URL)
<?php echo site_url(); ?>
ディスクリプション
<?php bloginfo('description'); ?>
テーマディレクトリのCSSファイルパス
親テーマ
<?php echo get_stylesheet_uri(); ?>
子テーマ
<?php echo get_stylesheet_directory_uri(); ?>
テーマディレクトリのURL
<?php echo get_template_directory_uri(); ?>
アクション
header.phpなどの</head>のタグ直前に
<?php wp_head(); ?>
footer.phpなどの</body>のタグ直前に
<?php wp_footer(); ?>
テンプレートタグ – WordPress Codex 日本語版
  http://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0

