WP_Queryを使って記事データを取得して表示させる形になるかなと思います。
「WP_Queryの使い方をPHPコードにまとめた便利なコード・スニペット」というページがありますので、
そこを参考にしてみてください。
取得処理を書く場所ですが、page.phpに記述するやり方では要望に対応できないのでしょうか?
固定ページで作ったページの中に、同じサイト内に設置しているブログの最新記事の日付とタイトル(1件だけ)を取得するようにしたい…
これは、特定のページだけですか、それとも全てのページに共通ですか?
仮眠を取っていて、返信が遅れてすみません。
>hideokamotoさん
WP_Queryについて教えてくださり、ありがとうございます。まだPHP初心者なのですが、ページを読んで勉強してみます。
page.phpに記述するやり方は?という件は、固定ページ全部ではなく、ひとつの固定ページだけに適用したいので、投稿画面にphpを入れる方法を探していました。
いま、考えて考えて思いついたのですが、適用したい固定ページはフロントページになるので、page.phpに書いて、その部分をフロントページにだけ表示させるようにしたらいいのかな…。試してみます。
>kjmtshさん
いくつか固定ページがあり、その中の特定の固定ページに適用させたいのです。
固定ページごとに少しデザインが違います。
特定の固定ページということでしたら、ショートコードがおすすめです
>sisbirdさん
回答ありがとうございます。
ショートコードは何度か試したのですが、上手く動作しませんでした。
functions.phpに書くコードを教えて頂けないでしょうか?
いろんな方の意見があっておもしろいことになってますね()
まぁ基本的にショートコードの方向性ですしそれが適していると思いますが。
ショートコードは何度か試したのですが、上手く動作しませんでした。
トピックの最初にも書かれていましたがどのようなコードを試したのですか?(もちろん難しい話ではないので紹介するのは簡単ですが)試したものがあるのであればそれを貼ってみるのもいいかもしれません。
クライアントが編集する場所にショートコードを置くのはあんまりお勧めではありません。間違えて消しちゃった、助けて、という連絡が入るのは、modaka さんのところだと思うので。
だから、ショートコードではなくて、テンプレートに書く方法ということで。固定ページごとにデザインが違うということは、テンプレートを別にしているのだと思いますが、その場合は、if 判定を外してください。マークアップはお好きなようにどうぞ。
if (is_page($page_id) {
$latest_post = wp_get_recent_posts('numberposts=1');
$post_date = mysql2date(get_option('date_format'), $latest_post[0]['post_date']);
echo '<a href="' . get_permalink($latest_post[0]['ID']) . '">' . $latest_post[0]['post_title'] . '</a>';
echo $post_date;
}
どうしても、ショートコードにしたいという場合は、表示したい文字列を作って return すれば終了です。echo しちゃいけませんので、ご注意を。固定ページの編集画面で、
[never_remove_me]
と入力します。
function display_latest_post_with_date($atts) {
$latest_post = wp_get_recent_posts('numberposts=1');
$post_date = mysql2date(get_option('date_format'), $latest_post[0]['post_date']);
$string_to_display = '<a href="' . get_permalink($latest_post[0]['ID']) . '">' . $latest_post[0]['post_title'] . '</a>' . $post_date;
return $string_to_display;
}
add_shortcode('never_remove_me', 'display_latest_post_with_date');
風邪でダウンしてしまって返信が遅れました。申し訳ありません!
>Hinaloeさん
そうですね。今後はちゃんとコードを貼るようにします。質問初心者で申し訳ありません。
>kjmtshさん
具体的なコードを教えて頂きまして、ありがとうございます!
これで思っている形に表示されるようになりました。確かに、クライアントがさわるコードの中に、ショートコードは適さないかもしれませんね。勉強になりました。
みなさま、ありがとうございました!