slide

コピペでつくるwordpressサイト テンプレートタグ

wordpresstag2

このブログは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(); ?>