フォーラム

すごく初歩的な質問なのですが・・・ (8 件の投稿)

  1. rikuu
    メンバー
    1 年前の投稿 #

    はじめまして。

    すごく初歩的な質問なのですが・・・

    個別記事のテンプレートに目次(mokuji1.php)を入れたくて、下記のように入力したのですが、"new-article"の部分のおかげで個別記事が全て最新の記事になってしまいます。

    <div class="new-article">
    <!--目次:mokuji1.phpを編集-->
    <?php include (TEMPLATEPATH . "/mokuji1.php"); ?>
    <!--目次 編集ここまで-->
    </div>

    それぞれの個別記事を表記させるにはどのように入力したらよろしいのでしょうか?

    まだWordpressについてすごく初心者で、くだらない質問だと思いますが、教えて頂けるとうれしく思います。

    よろしくお願いします。

    失礼いたします。

  2. shokun0803
    メンバー
    1 年前の投稿 #

    情報が少なすぎて返答ができませんね。
    まず、mokuji1.phpの中身はなんでしょう?ただのhtmlソースでインクルードさせているだけでしょうか?ただ、

    個別記事が全て最新の記事になってしまいます。

    とあるので、mokuji1.php内に記事を表示するwordpressタグなどを記述されているのでしょうかね。

    あと、「個別記事のテンプレートに」というのはsingle.phpを修正しているということでよろしいのでしょうか?
    どのテーマを使用していて、テーマ内のどのファイルのどの位置に該当のソースを記述しているのか具体的に書いていただかないと返答のしようがありません。また、該当のソースはループ内、外のどこに記述したときに意図した動作をしないのかなど分かる範囲で状況を書いたほうが良いでしょう。

    まだWordpressについてすごく初心者で、くだらない質問だと思いますが、教えて頂けるとうれしく思います。

    くだらなくはないと思いますよ。みんなそうやって試行錯誤して覚えていくのです。自分で調べて勉強する意欲があればいいのです、初心者を恥じることはありません;)
    ただし、質問するカテゴリを激しく間違っていますね・・・

  3. rikuu
    メンバー
    1 年前の投稿 #

    shokun0803さん

    お返事ありがとうございます。

    質問するカテゴリを間違えてすみません。
    変更した方がいいでしょうか!?

    mokuji.phpには下記のように記載してあります。
    (まだ付け加える予定ではいますが。)

    <!-- ■ 編集 ここから ■ -->

    <div class="mokuji1">

    <div class="new-article">

    <FONT size="+0"><B>◆最新記事</B>

    <?php
    $lastposts = get_posts('numberposts=2');
    foreach($lastposts as $post) :
    setup_postdata($post);
    ?>

  4. " id="post-<?php the_ID(); ?>"><?php the_title(); ?>
  5. <?php endforeach; ?>

    </div>

    <p><b><font size="+2">最新の記事はこの下↓からです</font></b></p>

    </div>

    <!-- ■ 編集 ここまで ■ -->

    >あと、「個別記事のテンプレートに」というのはsingle.phpを修正しているということで>よろしいのでしょうか?

    個別記事(shingle.php)にmokuji.phpの部分を付け加えたいです。

    single.phpの

    <!-- ■ main ここから ■ -->
    <div class="single-main">

    </div>

    の間に

    <!-- ■ main ここから ■ -->
    <div class="single-main">

    <div class="new-article">
    <!--目次:mokuji1.phpを編集-->
    <?php include (TEMPLATEPATH . "/mokuji1.php"); ?>
    <!--目次 編集ここまで-->
    </div>

    </div>

    のような感じで入れたいと思っています。

    でも、現状ですと全ての個別記事が最新の記事になってしまうので、何が間違っているのかなと思って悩んでいまして。

    初心者で質問の仕方も下手で申し訳ありませんが、分かる範囲で教えて頂けるとうれしく思います。

    よろしくお願いします。

    質問場所を変えた方がよろしければ全てこちらは削除して質問しなおさせて頂きます。

    間違えて大変申し訳ありませんでした。

  • shokun0803
    メンバー
    1 年前の投稿 #

    カテゴリは管理者でないと修正できないと思います。管理者に問い合わせてください。(過去にも管理者に依頼して移動してもらっている例があります。)

    現状ですと全ての個別記事が最新の記事になってしまうので

    この部分なのですが、codexの参考ソース

    <?php
    $lastposts = get_posts('numberposts=3');
    
    foreach($lastposts as $post) :
        setup_postdata($post);
        ?>
        <a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a>
        <?php the_content(); ?>
    <?php endforeach; ?>

    をsingle.phpに直接記述してプレビューし、個別記事を参照してみましたが「全ての個別記事が最新の記事になってしまう」というようなことは発生しませんでした。見たところソースはcodexのソースを若干修正したもののようなので、ソースに問題があるようには思えません。

    ちなみに上記codexの参考ソースをsingle.phpに直接記述しても思ったような動作にならないか確認をしていただけませんか。includeが悪いとも思えませんが直接記述の場合とで変わりがでるのなら疑ってみる必要があるかもしれません。

    最後に確認なのですが、rikuuさんが行いたいことは、

    <b>◆最新記事</b>
    最新の記事1
    最新の記事2

    <b>最新の記事はこの下↓からです</b>
    ・・・個別記事・・・

    というようなsingle.phpの作成で間違いなかったでしょうか?(ちょっと違うような気がしますが・・・)

  • rikuu
    メンバー
    1 年前の投稿 #

    shokun0803さん

    >ちなみに上記codexの参考ソースをsingle.phpに直接記述しても思ったような動作になら
    >ないか確認をしていただけませんか。includeが悪いとも思えませんが直接記述の場合とで>変わりがでるのなら疑ってみる必要があるかもしれません。

    やってみましたが、ダメそうです。

    というよりも、私が理解しきれてないという状態です^^;

    やりたい事としては

    <b>◆最新記事</b>
    最新の記事1タイトル
    最新の記事2タイトル

    目次
    ・目次1
    ・目次2

    <b>最新の記事はこの下↓からです</b>
    ・・・個別記事・・・

    というのをsingle.phpに表現したいです。

    この上記項目は、mokuji.phpに書き込みしてあります。

    自分的には

    <div class="new-article">
    <!--目次:mokuji1.phpを編集-->
    <?php include (TEMPLATEPATH . "/mokuji1.php"); ?>
    <!--目次 編集ここまで-->
    </div>

    の"new-article"が間違っているんじゃないかなって思うんですが。。。

    訳のわからん初歩的な質問をしてすみません。

    よろしくお願いします。

  • shokun0803
    メンバー
    1 年前の投稿 #

    の"new-article"が間違っているんじゃないかなって思うんですが。。。

    これはcssの指定ですので、ここが違うから最新記事が表示されるとかされないとか言うことはありません。(htmlやcssは勉強されていますか?)

    やりたい事としてはそんなに難しいことではないと思います。
    参考ソースを示してあげたいのですが、今日は時間がないので待てるようであれば待ってください。いつならできると約束もできませんが・・・:(

    wordpress codex日本語版にも目を通しておいたほうがいいですね;)

  • bonops
    メンバー
    1 年前の投稿 #

    rikuuさん、shokun0803さん、こんにちは。横から失礼します。

    個別記事が全て最新の記事になってしまいます。

    というのは、

    <b>最新の記事はこの下↓からです</b>
    ・・・個別記事・・・

    の内容が、「最新の記事2」の内容に置き換わってしまう、という理解で合っていますか?

    もしそうでしたら、
    最初は $post に個別記事のデータが入っているのに、

    foreach($lastposts as $post) :

    endforeach;

    で 2回ループした結果、$post に「最新の記事2」のデータが入ったまま、個別記事の処理に進んでしまうためかと思います。

    事前に $post を他の変数に退避させておいて、目次処理が終わったところで $post に戻してはどうでしょう。

    それか、目次処理を shingle.php の while (have_posts()) : the_post(); よりも前に置くとか。。

  • rikuu
    メンバー
    1 年前の投稿 #

    shokun0803さん、bonopsさん

    色々とアドバイスありがとうございます。

    アドバイスを元に自分なりに試行錯誤して下記のように編集をしたら出来ました。
    色々といじっていたら問題解決する事ができました。

    <?php
    $lastposts = get_posts('numberposts=1');

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

    <?php endforeach; ?>

    すごく助かりました。

    本当にありがとうございました。

  • 返信

    ログイン しなければ投稿できません。

    About this Topic

    Tags