サポート » 使い方全般 » 固定ページから最新の投稿ページにリンクするには

  • 解決済 YukoMatsu

    (@yukomatsu)


    お世話になります。
    トップページを固定ページににしており、
    そのページの「最新記事を読む」というボタンをクリックすると
    常に最新の投稿ページを表示させたいと思っており、
    また、最新の記事は1件のみ表示させたいと思っております。
    現在、自分なりに調べて下記のように入れているのですが、
    1つの記事しか表示されず、最新の投稿は表示されません。
    すみませんが、お教え願えるでしょうか?よろしくお願いいたします。

    <a href="<?php echo get_day_link('offset=1'); ?>">
    <img src="http://www.000.jp/000/wp-content/themes/000/images/bt.gif" alt="最新記事を読む" /></a>
8件の返信を表示中 - 1 - 8件目 (全8件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    get_day_link() は、年月日の引数を指定して表示させるものなので、今回の目的には使えないです。引数が足りないというエラーが出てもおかしくありません。

    単純にやるには、get_posts() で最新投稿を取ってきて、get_permalink() で URL を求めるのがよいでしょう。

    $posts= get_posts('numberposts=1');
    if ($p) { ?>
      <a href="<?php the_permalink($p[0]->ID); ?>">
      <img src="<?php echo get_stylesheet_directory_uri(); ?>"/images/bt.gif" alt="最新記事を読む" /></a>
    <?php }

    提示されたコードには「http://www.000.jp」という記述がありますが、000.jp は有限会社ストーリアが所有するドメインなので、あなたがここに所属しているとか、特別に許可をもらっているとかでない限り、勝手に使うのはまずいと思われます。
    単なる例示であれば、example.com や example.jp というドメインが用意されています。

    lilyfanさま
    ありがとうございます。
    お教えいただいた通り、下記のように入れてみたのですが、
    リンク先は、現在のトップページの固定ページにリンクされ、
    最新の投稿ページにリンクされません。
    すみませんが、再度ご教授願えればと思います。
    どうぞよろしくお願いいたします。

    <?php $posts= get_posts('numberposts=1');
    if ($post) { ?>
    <a href="<?php the_permalink($p[0]->ID); ?>">
    <img src="<?php echo get_bloginfo('template_directory'); ?>/images/bt.gif" alt="最新記事を読む" /></a>
    <?php } ?>

    確かに、ご指摘の通りドメインの件は軽卒でした。
    今後、気をつけます。ご指摘いただいてありがとうございました。

    始めて書き込むので、スットコドッコイだったらゴメンナサイ。
    新潟の會澤と申します。

    全然違うアプローチですが、WordPressにこだわらず、固定のトップページを作ってそこからWordPressのトップページに飛ばしてやれば、事足りるのではないでしょうか。
    WordPressはツールですから、ブログのように更新するページ。そしてそれを子に持つhtml静的ページがあっても全然かまわないと思うのです。見た目や機能で悩むのならコンテンツで…は言い過ぎですねゴメンナサイ。WordPress内で完結させる手法は、手練れのメンバー様にお任せいたします。いじり始めて数ヶ月。PHPのいろはも知らぬ者ですのでお許しの程。

    また、最新の記事は1件のみ表示させたいと思っております。

    この部分見落としておりましたが、これもブログトップページの表示件数を1にすればOKです。

    さらによけいなことをいえば、静的ページにiframeで枠を作ってブログを表示させるというレイアウトも可能ではないかと。ものは考えようという参考意見ということで…

    會澤さま
    コメントありがとうございます!
    wordpressではなく、HTMLで組んだページを作るってことですよね。
    やはり、それしかないですかね。
    私も1度試したのですが、
    1つ懸念していたのが、URLのことで
    ブログのトップページのURLが
    http://www.example.com/000-wp/index.phpだとすると
    000-wpディレクトリの中にindex.htmlを入れてアクセスすると
    index.phpの方が表示されてしまいます。
    なので、ブログのディレクトリとは違うディレクトリを作り
    そこにindex.htmlを入れるとなるとディレクトリ以下のURLが違ってきますし、
    WordPress内で完結できた方が、いいかなと思ったもので。
    もし、できなければ會澤さんのおっしゃってるようにします。


    .htaccessでファイル表示の優先順位を付ける

    てな方法もありますんで、柔軟に。

    lilyfanさんのコードの前に、

    rewind_posts();

    を1行付け加えると大丈夫だと思いますよ。

    ご教授ありがとうございます。
    kaz0415さんのrewind_posts(); を付け加えるとのことですが
    すみません、いろいろやってみたのですが、いまいちよく分からず断念してしまいました。

    kaizawaさん、ご意見ありがとうございます!
    こんな方法もあったんですね。
    あれから少しwordpress内リンクで、ねばって試行錯誤した結果、
    強引ですが記事をカテゴリーに分けてボタンのリンク先を
    カテゴリーのトップにリンクさせました。
    これで、ダメだったらkaizawaさんの案にしようと思っていた矢先、
    何とかできたので、よかったです。
    ありがとうございました!

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「固定ページから最新の投稿ページにリンクするには」には新たに返信することはできません。