ブログ

BLOG

CATEGORY

よく使う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