質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

9248閲覧

Wordpressで固定ページに投稿記事を表示

sumomomo

総合スコア15

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

2クリップ

投稿2016/06/27 08:09

編集2016/06/28 08:53

Wordpressで「blog」という名前の固定ページを作成し、
「blog.php」というテンプレートを使って編集しています。

投稿した記事の内容やタイトルをこの「blog.php」で出力したいのですが
固定ページ「blog」自体の内容やタイトルが表示されてしまいます。

投稿した記事からデータを持ってくるにはどうしたらよいでしょうか。

表示設定の投稿ページには何も選択していません。
(blogを選択すると真っ白になってしまうため)

php

1<?php 2/* 3Template Name: blog 4*/ 5?> 6<html> 7<head> 8<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/style.css"> <!-- CSS Stylesheet --> 9</head> 10<body> 11 <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 12</body> 13</html>

よろしくお願いいたします。

[追記]
kei様
コメントありがとうございます。

お使いのテーマ名を追記ください。

テーマは自分で作成しています。

また「固定ページ「blog」自体の内容やタイトルが表示されてしまいます。」とは
固定ページテンプレートで表示されるという意味でしょうか。

フロントページから

<?php echo esc_url( get_permalink( get_page_by_title( 'blog' ) ) ); ?>

で自分でカスタムした「blog」という名前の固定ページに飛ぶようにしています。

その時の<?php the_title(); ?>が、
投稿したタイトルではなく、作成した固定ページのタイトルになってしまいます。

よろしくお願いいたします。

[追記2]
kei様
再度コメントありがとうございます。

投稿とページ、サイト全体のURL構成をどのようにされたいのかも追記いただけませんか?

<作りたいページ>
・フロントページ
<a href="<?php echo esc_url( get_permalink( get_page_by_title( 'blog' ) ) ); ?>">BLOG</a>
でblog.phpに飛ぶようにしています。これは成功しています。

・投稿ページ(固定ページで作成し、blog.phpをテンプレートとして使い編集)
このページに投稿一覧に投稿した内容やタイトルを表示したいのです。
が、<?php the_title(); ?>等を使うとblog.phpの固定ページのタイトルが表示されてしまいます。

<URL構成>
フロントページ(http://localhost:8888/wordpress/) → 投稿ページ(http://localhost:8888/wordpress/blog/)

分かりづらいところがありましたら、ご指摘いただけると幸いです。
すみませんが、よろしくお願いいたします。

[追記3]

Kei334様

サイトを構成するページがこの先ずっと2ページのみという理解で問題ないですか?

現段階ではこの2ページですが追加予定です。
先ほどまで色々試していたら、やっと表示したい通りにできました。
Inspireしてくださり、ありがとうございました!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/06/27 08:20

お使いのテーマ名を追記ください。また「固定ページ「blog」自体の内容やタイトルが表示されてしまいます。」とは固定ページテンプレートで表示されるという意味でしょうか。
kei344

2016/06/28 06:01

すいませんが、投稿とページ、サイト全体のURL構成をどのようにされたいのかも追記いただけませんか?よろしくお願いします。
kei344

2016/06/28 07:23

サイトを構成するページがこの先ずっと2ページのみという理解で問題ないですか?
guest

回答2

0

解決されたようですが、標準のWordPressでは下記の様な構成を取れません。

トップページ(home.php)「example.com/」 ├ ブログ(固定ページ&投稿テンプレート)「example.com/blog/」 │ ├ 投稿1(投稿ページ)「example.com/blog/article1」 │ ├ 投稿2(投稿ページ)「example.com/blog/article2」 │ └ 投稿3(投稿ページ)「example.com/blog/article3」 └ 他の固定ページ

「ブログ」ページに書かれている「the_permalink();」がどこを指しているかはわかりませんが、上記のような構成にするのは難しいと思います。


「投稿の一覧ページ」を作る場合、カスタム投稿タイプを新たに作ることで対応することが多いです。

プラグイン「Custom Post Type UI」を使うと比較的簡単にアーカイブ(一覧ページ)付きの投稿タイプを作成できます。

たとえば、「blog」という名前のカスタム投稿タイプを作成し、「Has Archive」設定を True にすると、「example.com/blog/」で一覧が表示できます。(その表示に使われるテンプレートは「archive-blog.php」)

投稿ページは設定によりますが「example.com/blog/article1」のように出来ます。

【Custom Post Type UI — WordPress Plugins】
https://ja.wordpress.org/plugins/custom-post-type-ui/

【Custom Post Type UIの使い方[WordPress]】
http://kotori-blog.com/wordpress/custom_post_type_ui/

【プラグイン・Custom Post Type UIでのアーカイブページの表示設定】
http://www.firstsync.net/homepage/9098/


何が一番言いたいかというと、example.com/固定ページ/投稿ページ というURLには簡単には出来ないので他の方法を探ったほうが手早いですよ、ということです。

Rivernameさんのサイト構成が example.com/固定ページ/投稿ページ になりそうなのであれば、組み方自体を変えたほうが良いと思います。解決済なので、要らぬおせっかいの可能性が高いのですが、同じ問題を解決したくて検索してこられた方には伝えておきたいので、書かせていただきました。

投稿2016/06/28 14:56

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

以下の方法で解決できました!!

PHO

1<?php 2$args = array( 'posts_per_page' => 3 ); 3$lastposts = get_posts( $args ); 4foreach ( $lastposts as $post ) : 5 setup_postdata( $post ); ?> 6 <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 7 <?php the_content(); ?> 8<?php endforeach; wp_reset_postdata(); ?> 9

投稿2016/06/28 08:50

sumomomo

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問