コピペでつくるwordpressサイト テンプレートタグ
2015年6月6日 wordpress
このブログはwordpressで運営しているのですが、どうもテンプレートタグがいつまでも覚えられません。
あいかわらず、過去データを引っ張り出しコピペで作っているので効率が悪いです。。
書籍もたくさん発行されていたり、WordPress Codexなどのwikiもあるのですが、 本は買ったことはなく、wikiの方は意外ととっつきずらかったりして苦戦しています。
そこで、いつも救世主となっているのが各クリエイターさんのブログです。
特に下記の記事にはお世話になりました。
WordPressテンプレートタグ集|初心者即実践&仕事で使えるコピペ用 https://webdesignerwork.jp/wordpress/wordpress_tag/
今回は、さらによく使うテンプレートタグをコピペで使えるようにさらに充実させたいと思います。
(ネットがなくなったらなにもできなそう・・・)
ループ作成基本セット
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php if(has_post_thumbnail()) { echo the_post_thumbnail(); } ?> <?php the_content(); ?> <?php endwhile; ?> <?php else : ?> <?php endif; ?>
<?php endwhile; ?> <?php else : ?> <?php endif; ?>
がないとエラーになります。最初はそれすら知りませんでした。
パーマリンクとタイトル
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"> <?php the_title(); ?></a>
ページネーション
<?php global $wp_rewrite; $paginate_base = get_pagenum_link(1); if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){ $paginate_format = ''; $paginate_base = add_query_arg('paged','%#%'); } else{ $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged');; $paginate_base .= '%_%'; } echo paginate_links(array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 4, 'current' => ($paged ? $paged : 1), 'prev_text' => '« 前へ', 'next_text' => '次へ »', )); ?>
個別テンプレート作成
<?php /* Template Name:*** */ ?>
これくらいですらおぼえられない
サイドバーで使えるセット
カテゴリー(li表示)
<h3>カテゴリー</h3> <ul> <?php wp_list_categories('show_count=1&title_li='); ?> </ul> <h3>最新の投稿</h3> <ul> <?php wp_get_archives('type=postbypost&limit=20');?> </ul>
最初の文字だけ表示
<?php echo mb_substr(get_the_excerpt(),0, 100);?>...
サムネイルの大きさ指定
<?php the_post_thumbnail(array(300,200)); ?>
進む/戻る
<?php previous_posts_link('< Previous Page'); ?> <?php next_posts_link('Next Page >'); ?>
西暦取得
<?php echo date('Y'); ?>
トップページなどでよくあるNEW!!
<ul> <?php $posts = get_posts('numberposts=6'); foreach($posts as $post): ?> <li class="news"> <?php $days=7; $today=date('U'); $entry=get_the_time('U'); $diff1=date('U',($today - $entry))/86400; if ($days > $diff1) { echo '<img src="画像" alt="New" />'; } ?> <?php echo date("Y.m.d.", strtotime($post->post_date)); ?> <a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"> <?php the_title(); ?></a></li> <?php endforeach; ?> </ul>
投稿数とカテゴリー指定
<?php if (have_posts()) : ?> <?php query_posts('showposts=1&cat=8'); while(have_posts()) : the_post(); ?>