サポート » 使い方全般 » トップに指定した固定ページにサムネイル付き最新記事の抜粋を表示した

  • 解決済 hasegawa-k

    (@hasegawa-k)


    トップページに固定ページを設定し、ページの下部に
    ・最新の記事のタイトル
    ・更新日時
    ・本文抜粋(できれば記事内の画像を自動で取得してのサムネイル付きで)
     を表示したいと考えています。

    ある女性サークルのサイトで更新作業はあまり知識のない方々があたる事になり、ページ内でPHPが動くようにし固定ページにプログラムを書き込む方法だと、ユーザーがビジュアルエディタを使用する度にプログラム部分が化けてしまいます。
    専用のページテンプレートを作り、thumbnail-for-excerpts等のプラグインを利用して…?とおぼろげに考えるのですがうまく設定出来ません。
    PHPはほとんど理解出来ていない身で申し訳ないのですが
    アドバイスをいただけませんでしょうか、よろしくお願いいたします

    ・wordpressは2.9.2です
    ・ThemeはVicuna、スキンはstyle-vegaを改変したものです
    ・固定ページは複数ページ作っています。
    ・URLは以下です
    http://www.ise-cci.or.jp/josei/

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • WPの2.92なら、新たに追加したサムネイル機能を使用すればいいとおもいます。

    function.phpに

    if ( function_exists( 'add_theme_support' ) ) {
      add_theme_support( 'post-thumbnails' );
      set_post_thumbnail_size( 150, 150, true ); // サムネイルのサイズ
    }

    サムネイル画像を呼び出すには、
    <?php the_post_thumbnail(); ?>
    となります。

    固定ページの呼び出したい場所に
    (html構文は例です。classのimgLeftに回り込みをcssで設定してください。)

    <?php
    query_posts('posts_per_page=1');
     if (have_posts()) :
      while (have_posts()) : the_post(); ?>
    <dl>
     <dt class="title"><a href="<?php the_permaLink(); ?>"><?php the_title(); ?></a></dt>
     <dd class="date"><?php the_time('Y.m.d'); ?>UP</dd>
     <dd class="text"><?php
       if ( has_post_thumbnail() ): // サムネイルを持っているときの処理
        ?><?php the_post_thumbnail( array(150,150), array('class' => 'imgLeft') ); ?><?php
       else: // サムネイルを持っていないときの処理
        ?><img src="<?php bloginfo('template_url') ?>/image/no_image.gif" alt="noimage" class="imgLeft" /><?php
       endif; ?><?php the_excerpt(); ?></dd>
     </dl><?php
      endwhile;
     endif;
    wp_reset_query();
    ?>

    query_posts(‘posts_per_page=1’);
    この部分の設定をいろいろ変えれば、カテゴリーを限定したり、表示する記事の数を変えたりできます。

    threetails様ありがとうございます。
    教えて頂いたようにfunction.phpに書き加え
    php文をpage.phpに貼ってみました
    query_posts(‘posts_per_page=3’);として
    1つテスト投稿をしてみました。
    結果「固定ページ」で作成したページすべてに最新の3投稿の抜粋が表示されていますが
    今のところサムネイルは設定前・後の投稿共に「画像がない」状態の四角が表示されています。

    それぞれの投稿でカスタムフィールドの設定とか何かルールが必要ですか?
    「htmlを見てカスタムフィールドに画像のアドレスをペースト」のような操作は期待出来ないのもあって…
    2.9.2のサムネイル機能について調べてみます。

    サムネイルをクリア出来たら次は、専用のページテンプレートを設定して…という流れになるのですね。頑張ります。

    画像がないという状態ですが、もしかして、新規投稿ではなく、過去の記事を表示しているのでしょうか?

    それでしたら、array(150,150) この部分を過去の投稿時にWordPressで設定していたサムネイル画像の大きさに変更してください。
    投稿した時点でサムネイル画像が作成されますので。

    あと、投稿記事を作成するときに、公開ボタンなどがある右のバーの一番下に投稿サムネイルという項目が2.92から増えていると思います。
    この項目で表示する画像を設定しないと、画像は表示されません(自分もなかなか気がつきませんでした。)

    threetails様、早速ありがとうございます。

    前回書き込み時の状況はfunction.php等設定後に、
    サムネイル設定がわからないまま、投稿したものと過去の投稿、
    計3つ表示して試していました。

    で教えて頂いたとおり、公開ボタン見つかりました!
    設定しましたら無事サムネイルの表示も出来ました。
    これぐらいの操作なら更新担当のお姉様方(!)にもクリアして頂けそうです。
    ありがとうございます。

    次のステップ「専用のページテンプレート作成と設定」に取り掛かります。

    専用のテンプレートを作り適用することが出来ました。
    page.phpを複製し、ソースにthreetails様の構文を貼り
    【変更点】
     [1]サイズを120×120ピクセル:function.phpも同様
     [2]the_timeの場所を抜粋文の下に変えました
     [3]3件表示にしました
    pagetop.phpとしてアップロード
    これだけではページ編集画面にテンプレート選択ダイアログが出てきませんでしたが
    ソースに

    <?php
    /*
    Template Name: TopPage
    */

    と名前をつけることで表示され、選択。
    ページを表示してみましたら反映されました
    本当にありがとうございますm(_ _)m

    ただ【変更点】の2番目は、テーマの横幅が大きいため、2つめ以降の記事が前の記事のサムネイルに回り込んだ状態になるため、その回避策で抜粋下に投稿日時を表示していますので
    ●回り込みを一度解除する
     .clear { display: block; clear: both; }
     はcssに追加しました、あとPHP内への書き込み方が?
    ●抜粋文字数のコントロール
     の2点が出来ればなぁと思っています。

    WP Multibyte Patch プラグインは有効にしてありますか?であれば、共通設定ファイル (wpmp-config.php)の

    $wpmp_conf['excerpt_length'] = 55;

    部分を好みの数字に変更することでコントロールできます。

    トップページだけ文字数を変えたいなら、mb_strimwidth などのPHP関数を利用すればいいと思います。

    回り込み解除は、 dd class=”text” に、clearfix などを使われてはいかがですか?

    LVP8さんありがとうございます!
    文字数のコントロールが出来ました。
    WP Multibyte Patchの
    wpmp-config-sample.phpを wpmp-config.php にリネーム
    数字を変更してアップロード。
    ウチの環境では1行下の
    $wpmp_conf[‘excerpt_mblength’] = 110 の値を変えることで実現できました。

    あと
    ★今はトップページだけ文字数を変えることは必要に迫られていませんが、
     そういう場合も間違いなく出てきそうですので勉強してみます。
    ★回り込み解除で教えて頂いた「clearfix」は使ったことがなかったので、
     早速導入しようと、今ネットで検索して理解に努めています。

    皆さんのおかげで、問題の解決法にはいろいろなアプローチがあると言うことを教えて頂けました、おかげで質問の元になったサイトはもちろん、たまたま話のあった別サイトも同様の手法を活かして随分スピーディーに立ち上げることができました。ありがとうございます。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「トップに指定した固定ページにサムネイル付き最新記事の抜粋を表示した」には新たに返信することはできません。