WordPress初心者必見!よく使う関数まとめ【ブログ編1】
コラムこんにちは!突然ですが、WordPressで自作テーマを作ったり、カスタマイズをした事はありますか?
WordPressは今や全世界のWebサイトの1/3を占めていると言われています。
その魅力はなんといっても、初心者でも扱いやすいように便利なPHPの関数がたくさん用意されているところです!
PHPなんて扱ったことないよ!なんて方も、Wordpressの関数を通して学んでいけば、きっと自分好みのブログを作れるようになりますよ!
そこで、Wordpressで色々なサイトを作ることが仕事である筆者がよく使うWordpressの関数、今回は【ブログ編】からお送りしたいと思います!
ブログ編といっても初歩の初歩の関数という感じなので、自分でブログ以外のサイトを作りたい!という方も一読することをオススメします!
ループ文
まずは、Wordpressを使う上でほぼ確実に使うループ文をじっくり説明いたします。
例えば本メディアでいうと、
このように、同じデザインの記事を繰り返して表示したいときに使う文のことです。
ループ文の書き方にも3つ種類があるのですが、作者がオススメするのは、
「WP_Query」というループの書き方です。
この書き方を覚えておけば、基本的に不自由する事はありませんし、
複雑な条件を設定できたり、直感的に書き方が理解しやすいループ文だからです。
まず、例として上画像のループ文のコードを挙げてみます。
<ul>
<?php
$args = array(
'posts_per_page' => 8,
'orderby' => 'date',
'paged' => $paged
);
$my_query = new WP_Query($args);
if ($my_query->have_posts()) :while ($my_query -> have_posts()) :$my_query -> the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail('medium'); ?>
<p>
<?php
if(mb_strlen($post->post_title,'UTf-8')>40){
$title= mb_substr($post->post_title, 0, 40, 'UTF-8');
echo $title.'...';
} else {
echo $post->post_title;
} ?>
</p>
<p class="excerpt"><?php echo get_the_excerpt(); ?></p>
<time><?php the_time('Y.m.d'); ?></time>
</a>
<p><?php the_category(' '); ?></p>
</li>
<?php endwhile;else: ?>
投稿がありません
<?php endif;wp_reset_postdata(); ?>
</ul>
今回デザインのためのクラスは簡略し、説明しやすいように少し手を加えていますm(_ _)m
基本的にループ文の外は<ul>で囲み、ループ文の中の最初に<li>、最後に</li>を書きます。
これは順序が関係ないリストという意味で書いています。
HTMLタグについての説明記事はこちら↓
ちゃんと理解している?【dl・table・ul,ol】の使い分け
まず、
$args = array(
'posts_per_page' => 8,
'orderby' => 'date',
'order' => 'desc'
);
この$argsという変数の中に配列を定義します。
array()の中には記事を絞り込んだり、順番を入れ替えるためのパラメーターを設定しています。
今回、筆者が設定しているものは一番使用頻度が高いものたちです。
- posts_per_page :一度に表示する記事の数( -1で全件表示 )
- orderby:主にtitle(タイトル),date(日付)などをよく使う。指定した順番で並び替える。
- order:asc(昇順:1,2,3),desc(降順:3,2,1)の並び替えが決められる。
他にも、カテゴリーを絞り込める’cat‘(カテゴリーID指定),
‘category_name‘(カテゴリーのスラッグ)などもあります。
※スラッグとは名前とは別に英数字で定める名前
色々見てみたいという方はWordpressの公式日本語マニュアルをのぞいてみましょう。
関数リファレンス/WP Query
そして、
$my_query = new WP_Query($args);
$my_queryという変数に、$argsの条件のWP_Queryを作るよ!という指示を出します。
if ($my_query->have_posts()) :
次に、もし$my_queryの条件の記事を持っているならば、
while ($my_query -> have_posts()) :$my_query -> the_post();
持っている限り繰り返し表示するよ!
日本語でループ文を表すとこのような意味になります。
これ以降が、「もし記事があったならば表示する記事の内容」になります!
少し長くなりそうなので今回はこの辺で終わりにします。
次回は紹介したコードの中身を全て紹介しきりたいと思います!お楽しみに!
株式会社Knocknote代表取締役。大学卒業後不動産営業に従事した後、ITの重要性を強く感じエンジニアへ転職。ソーシャルゲーム開発、スマホアプリやPepperアプリの企画及び開発、高校でのプログラミング講師などの業務に携わる。2017年1月に創業。現在はプログラミング教育事業、システム開発事業を展開。今後は海外向けの教育事業をさらに拡大させていく事が目標。著書:『作って学べるUnity超入門』(技術評論者)