遅刻の「言い訳」選手権

Wordpress 3.0.1 でテーマ作成に初挑戦中です。HTML、CSS等は分かりますが、PHPの知識はあまりありません。

ブログページとは別に、カスタム投稿タイプを使い「ニュース」をトップページに表示します。「日付」「要約」を表示して、「本文」があるものについてのみ個別記事へ飛べるようにしたいです。
【イメージ】
2010/11/13 社員名簿を更新しました。
2010/11/12 当社社員がTV番組に出演しました。>>詳細
2010/11/11 今日はポッキーの日でした。

日付は投稿日(time(Y/m/d))を表示し、トップページに表示する要約は、要約(excerpt)でもタイトル(title)でも良いかな、と考えています。(タイトルを表示するところがないので。)
ただし、本文(ニュースの詳細)は書くものと書かないもの(トップページの一文だけで完結するもの)があるので、上記【イメージ】のように本文がある2010/11/12だけ「>>詳細」から個別記事に飛べるようにしたいです。

本文の入力有無を条件分岐で判定することはできるでしょうか?
または、上記の要件を別の方法で実現できましたら、教えて下さい。宜しくお願いします。

A 回答 (2件)

<?php $myposts = get_posts('numberposts=表示件数&category=カテゴリIDの整数'); ?>


<?php foreach($myposts as $mypost): /* ここからループ */ ?>
<?php echo date("Y/m/d",strtotime($mypost->post_date)); /* 日付 */?>
<?php echo ($mypost->post_excerpt != '')? $mypost->post_excerpt : $mypost->post_title; /* 要約が空じゃないなら要約、空ならタイトル */ ?>
<?php if($mypost->post_content != '') echo '<a href="'.$mypost->guid.'">>>詳細</a>'; /* 内容が空じゃなければ記事へのリンク出力 */ ?>
<?php endforeach; /* ここまでループ */ ?>

ここで直接書いたので、エラーでたらすみません。
    • good
    • 0
この回答へのお礼

御礼が遅くなってしまいました。回答ありがとうございます。

「このQ&Aが役に立った」の投票がいくつも入っていますね。私のみならず、多くの方に有意義な回答を頂きありがとうございました。

お礼日時:2011/04/30 20:21

add_filter('the_content', '関数名');


add_filter('the_excerpt', '関数名');
を使えば'関数名'が実行されるときの第一引数にその投稿文(や要約)が入ると思うので、
lengthを取ったり、preg_matchやstrposなどで特定の文字が書かれているかを調べればいいと思います。

Wordpressのテーマファイルを作るならPHPは必須になると思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
私が「PHPの知識はあまりない」と書いたので、敢えて「PHPを知らないと理解できないように」書いて下さったのだと思います。add_filter()関数についてネットで調べてみましたが、回答者の意図を理解することはできませんでした。

「Wordpressのテーマファイルを作るならPHPは必須」なのは重々承知しており、「Wordpressのテーマファイル作成を通して今回初めてPHPを学習しようと」していますので、「つまりどう書けば良いのか?」をお答え下さると実例を通して関数や文法について勉強できますので宜しくお願いします。

お礼日時:2010/11/20 20:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報