WordPressのチートシート
言わずと知れたCMS【WordPress】Web上の29%のサイトがWordPressで作られていると言われてます。
カスタマイズの自由度や文献の豊富さで使い勝手が非常に素晴らしいWordPress。
ご多分に漏れず当サイトもWordPressで作ってます。
WordPressのテーマ作成は実務でも頻繁に行いますが、その都度昔のテーマからテンプレートタグを引っ張ってくるのはメンドくさい…ということでコピペで使えるWordPressテンプレートタグ・ループ・条件文一覧を作りました。WordPressのテーマ作成のお供にどうぞ。
テンプレートネームを指定
1 |
<?php /* Template Name:トップページ */ ?> |
ファイル読み込み
1 2 3 4 5 6 7 8 |
//header.phpファイル読み込み <?php get_header(); ?> //footer.phpファイル読み込み <?php get_footer(); ?> //xxxx.phpファイル読み込み <?php get_template_part('xxxx'); ?> |
アクションフック
1 2 3 4 5 |
//wp_headアクションフックをスタートさせる(タグ直前で使う) <?php wp_head(); ?> //wp_footerアクションフックをスタートさせる(タグ直前で使う) <?php wp_footer(); ?> |
パス・テキスト読み込み
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
//テーマのディレクトリのパス <?php echo get_stylesheet_directory_uri(); ?> //テーマのstyle.cssのパス <?php echo get_stylesheet_uri(); ?> //サイトアドレス <?php echo home_url(); ?> //サイト名// <?php bloginfo('name'); ?> //ページのタイトル <?php the_title(); ?> //ページのタイトル(タグなし) <?php the_title_attribute(); ?> //コンテンツ読み込み <?php the_content(); ?> //年月日 <?php the_time('Y年m月d日') ?> //キャッチフレーズ <?php bloginfo('description'); ?> //記事ID <?php the_ID(); ?> |
メインループ
1 2 3 4 5 6 |
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> ここにコンテンツ内容を記述 <?php endwhile; ?><?php else : ?> ここにコンテンツがない場合の内容を記述 <?php endif; ?> |
新着更新ループ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<div id="news"> <table> <?php $posts = get_posts('numberposts=-1&category_name=news'); global $post; ?> <?php if($posts): foreach($posts as $post): setup_postdata($post); ?> <tr> <td class="date"><time><?php the_time('Y年m月d日') ?></time></td> <?php $cat = get_the_category(); ?> <?php $cat = $cat[0]; ?> <td><span title="<?php echo get_cat_name($cat->term_id); ?>"><?php echo get_cat_name($cat->term_id); ?></span></td> <?php if( !get_the_content() ) : ?> <!--リンクを貼らないコード--> <td> <?php if(strlen(get_post_meta($post->ID, "リンク", true)) > 0) : ?> <a href="<?php echo get_post_meta($post->ID, "リンク", true); ?>"><?php the_title(); ?></a> <?php else : ?> <?php the_title(); ?> <?php endif; ?> </td> <!--本文があれば--> <?php else : ?> <!--リンクを貼るコード--> <td><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></td> <?php endif; ?> </tr> <?php endforeach; endif; ?> </table> </div> |
条件分岐
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
//ページごとの条件分岐 <?php if ( is_home() || is_front_page() ) : ?> //トップページの場合のみ表示 <?php elseif(is_single()): ?> //投稿の個別ページの場合のみ表示 <?php elseif(is_page()): ?> //固定ページの場合のみ表示 <?php elseif(is_category()): ?> //カテゴリーページの場合のみ表示 <?php elseif(is_archive()): ?> //アーカイブページの場合のみ表示 <?php elseif(is_tag()): ?> //タグのアーカイブページの場合のみ表示 <?php elseif ( get_post_type() === 'カスタム投稿タイプ名' ): ?> //指定されたカスタム投稿タイプの場合のみ表示 <?php elseif(is_post_type_archive()): ?> //カスタム投稿タイプのアーカイブページの場合のみ表示 <?php elseif(is_search()): ?> //検索結果ページの場合のみ表示 <?php elseif(is_404()): ?> //404ページの場合のみ表示 <?php else : ?> //それ以外のページの場合表示 <?php endif; ?> //記事IDでの条件分岐 <?php if(is_page(10)): ?> ここにコンテンツ内容を記述 <?php endif; ?> //PC・モバイルでの条件分岐 <?php if ( wp_is_mobile() ) : ?> //モバイルの場合のみ表示 <?php else: ?> //PCの場合のみ表示 <?php endif; ?> //カテゴリでの条件分岐 <?php if(is_category('ID')): ?> <?php if(is_category('カテゴリー名')): ?> <?php if(is_category('カテゴリーのスラッグ')): ?> <?php if(is_category(array( ID,ID ))): ?> <?php if(is_category(array('スラッグ', 'スラッグ'))): ?> |