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

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

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

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

Q&A

1回答

3114閲覧

WordPress固定ページの一覧表示

pino2020

総合スコア8

WordPress

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

0グッド

0クリップ

投稿2016/08/16 07:10

WordPressでホームページを作成しています。
トップページに特定のカテゴリーの固定ページ(投稿記事ではなく)の一覧を設置したいと思っています。
★タイトル
★アイキャッチ画像
★文章の抜粋
を掲載したいです。

固定ページのカテゴリーは
functions.phpに
//固定ページにカテゴリーを設定
add_action('init','add_categories_for_pages');
function add_categories_for_pages(){
register_taxonomy_for_object_type('category', 'page');
}
add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' );
function nobita_merge_page_categories_at_category_archive( $query ) {

if ( $query->is_category== true && $query->is_main_query() ) {
$query->set('post_type', array( 'post', 'page', 'nav_menu_item'));
}
}
と記入して解決しました。

あとはカテゴリーを指定した固定ページのタイトル、アイキャッチ、文の抜粋です。

投稿記事の一覧であれば

<!-- 新着順にする--> <?php query_posts($query_string .'&orderby=modified'); ?> <!-- カテゴリーを指定する--> <?php $posts = get_posts("numberposts=10 &category=3"); foreach ($posts as $post): setup_postdata($post); ?> <div class="topics"> <h3><a href="<?php the_permalink() ?>"><?php the_title() ?></a></h3> <div class="topics_img"> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail(); ?></a> </div> <?php echo mb_substr(get_the_excerpt(),0, 50);?> <a href="<?php the_permalink();?>">&emsp;…&nbsp;続きを読む</a> </div> <?php endforeach; ?> で実現できますが、 固定ページの場合は反応がありません。 投稿記事の場合とどこが違うのでしょうか。 コードを書き直すとすればどのようにすればよいでしょうか。 また、他に良い方法がありましたらアドバイスをお願いしたいと思っております。

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

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

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

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

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

kei344

2016/08/16 13:21

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
guest

回答1

0

お邪魔します。
小生もWordpressのカスタマイズは素人レベルです、参考になればと回答させていただきます。
素人が回答するなというご意見もあると思いますが、
そのご意見も含め作動しなかった場合はご容赦ください。

質問者の

<!-- カテゴリーを指定する-->
<?php $posts = get_posts("numberposts=10 &category=3"); foreach ($posts as $post): setup_postdata($post); ?>

のソース内で post_type が設定されてないように思われます。
小生の拙い知識だと
post_type=page が上記ソース内にひつよかと思いますので

<?php $posts = get_posts("post_type=page &numberposts=10 &category=3"); foreach ($posts as $post): setup_postdata($post); ?>

で固定ページが表示できるかと思います。
ま、上記ソースにて作動しなくても記入方や記入位置を変更し試していただければと思います。
お邪魔いたしました。。

投稿2016/08/19 08:13

younosuke

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問