WordPressループ文周りまとめ

タグ: , , ,

wordpress

WordPressのループ文でよく使うものをさくっとまとめてみました。

これからWordPressを構築していくという方必見です!

まずはループ文

index.phpやhome.phpで使用するループ文

<?php
$posts = get_posts(numberposts=5&category=2,5,3;);
global $post;
?>
 <?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
<?php $cat = get_the_category(); ?>
<?php $cat = $cat[0]; ?>

htmlあれこれ

<?php endforeach; endif;?><!--ループエンド-->

htmlあれこれという部分に記事の情報を取得するHTML、PHPを記述します。

「numberposts=5」は記事の取得件数で、「category=2,5,3」は取得するカテゴリーIDです。
カテゴリーIDは、投稿メニューのカテゴリーの一覧から、マウスカーソルをカテゴリー名の上に載せてしばらくすると、ブラウザの下部にカテゴリーIDが表示されます。


スクリーンショット 2014-02-25 22.04.29

固定ページでのループはまた別のループ文が必要

固定ページでは、index.phpやhome.phpで使用したループ文は使用出来ません。

<?php $posts = get_posts('numberposts=5category=-4,-5');
global $post;
$pagednew = (get_query_var('paged')) ? get_query_var('paged') : 1;  

$additional_loop = new WP_Query("cat=-4,-5&pagednew=$pagednew");
?>

<?php if($posts): foreach($posts as $post): setup_postdata($post); ?>

<?php $additional_loop->the_post(); ?>
<?php if($post->ID): ?>
<?php $cat = get_the_category();     $cat = $cat[0]; ?>

HTMLあれこれ

<?php endif;?><!--ifエンド-->
<?php endforeach; endif;?><!--ループエンド-->

固定ページでは通常PHPの記述は認識しませんので、Exec-PHPというプラグインの導入をしなければいけません。

Exec-PHP


記事の取得情報を表示でよく使うものまとめ

時間
<?php the_time('Y/m/d');?>
カテゴリーID
<?php echo $cat->cat_ID; ?>
カテゴリー名
<?php echo get_cat_name($cat->term_id); ?>
リンク
<?php the_permalink(); ?>
タイトル
<?php the_title(); ?>
概要 文字数制限
<?php echo mb_substr(get_the_excerpt(), 0, 30); ?>
その2
 <?php 
        echo mb_substr(get_the_excerpt(), 0, 100);
        //PHP関数のmb_substrを使って、
        //記事抜粋文の最初から100文字を表示
        ?>
        <a href="<?php the_permalink();?>">続きを読む</a>

アイキャッチ又は最初の画像表示(functions.phpの記述が必要)
<?php echo catch_that_image(); ?>

function.phpに記述しておくと便利なもの

記事の最初の画像を取得
上記のcatch_that_image()を動かす為に必要なプログラムです。

画像取得
function catch_that_image() {
    global $post, $posts;
    $first_img = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
    $first_img = $matches [1] [0];
 
if(empty($first_img)){ //Defines a default image
        $first_img = "../images/docomodake.png";
    }
    return $first_img;
}

上記ループ文では、カテゴリーのIDも取得しているので、例えばカテゴリー毎にclass名を変更して画像の読み込みを変えるなんてことも出来ます。

以上、WordPressループ文周りのまとめでした。

この記事を書いた人

日付: 2014年02月25日 | カテゴリ: goowalog > ウェブ - 制作メモ

“金沢市 Drone for Business ロボット派遣
記事カテゴリ
カテゴリ内アーカイブ
  • メニュー/トップページへ
  • メニュー/会社概要へ
  • メニュー/事業内容へ
  • メニュー/スタッフ紹介へ
  • メニュー/採用情報へ
  • メニュー/制作実績へ
  • メニュー/goowaログへ
  • メニュー/お問い合わせへ
  • メニュー/アクセス案内へ
最新の問い合わせ事案
  • 2019/08/09:
    建築パース制作
  • 2019/07/20:
    パンフレット制作
  • 2019/07/15:
    建築パース制作
  • 2019/06/20:
    WEBサイトリニューアル
  • 2019/05/01:
    WEBサイトコンサルティング
  • 2019/01/07:
    LINE Bot製作
  • 2018/11/28:
    災害時安否確認システム
  • 2018/10/21:
    webシステム構築
  • 2018/10/05:
    iOS/Androidアプリ製作
  • 2018/09/13:
    オーダリングシステム開発

    Warning: Invalid argument supplied for foreach() in /usr/local/chroot/usr/home/zz107115/html/twitteroauth/twitter.php on line 19