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

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

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

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

PHP

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

Q&A

解決済

3回答

854閲覧

質問:php&wordpress カスタム投稿について

kyaapo

総合スコア17

WordPress

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

PHP

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

0グッド

0クリップ

投稿2019/06/11 08:38

編集2019/06/11 12:44

前提・実現したいこと

こんにちは。
初めて投稿させていただきます。
phpとwordpress初心者で、
現在かなり困っている問題があり、どなたか助けてくださるとありがたいです。

発生している問題・エラーメッセージ

カスタム投稿で作成したarchive.phpに下記のように表示させたいと思い カテゴリー分けして表示させているのですが、 何故か私のやり方だと記事タイトルの部分が5記事づづしか表示されません。 それを、全記事表示に変更したいのですが、どうすれば良いのかが分からないため 質問いたしました。 大見出し ・記事のタイトル ・記事のタイトル 大見出し ・記事のタイトル ・記事のタイトル 大見出し ・記事のタイトル ・記事のタイトル

該当のソースコード

<?php $taxonomy_name = 'category-rec'; $taxonomys = get_terms($taxonomy_name); if(!is_wp_error($taxonomys) && count($taxonomys)): foreach($taxonomys as $taxonomy): $tax_posts = get_posts(array('post_type' => get_post_type(), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) ); if($tax_posts): ?> <h2><span><?php echo esc_html($taxonomy->name); ?></span></h2> <table> <tr> <th>募集職種</th> <td> <?php foreach($tax_posts as $tax_post): ?> <a href="<?php echo get_permalink($tax_post->ID); ?>"> <?php echo get_the_title($tax_post->ID); ?> <?php endforeach; ?> </td> </tr> </table> <?php endif; endforeach; endif; ?> 【21:42記載】 <?php $taxonomy_name = 'category-rec'; $taxonomys = get_terms($taxonomy_name); if(!is_wp_error($taxonomys) && count($taxonomys)): foreach($taxonomys as $taxonomy): $tax_posts = get_posts(array('post_type' => get_post_type(), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) ); if($tax_posts): ?> <h2><span><?php echo esc_html($taxonomy->name); ?></span></h2> <table> <tr> <th>募集職種</th> <td> <?php $args = array( 'numberposts' => -1,//全てのpostを持ってくる 'post_type' => 'recruit-rec', 'orderby' => 'post_date',//日付順 'order' => 'ASC',//投稿を古い順に表示 'recruit-rec' => $cat->slug ); $my_posts = get_posts( $args ); if ( $my_posts ) { // 該当する投稿があったら回す foreach ( $my_posts as $post ) : setup_postdata( $post ); ?> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> <?php endforeach;} else {} wp_reset_postdata(); ?> </td> </tr> </table> <?php endif; endforeach; endif; ?>

試したこと

これを試してみましたが、これだと
大見出し
・記事のタイトル
・記事のタイトル
これらがセットで一つとみなされ、×10できてしまいました。

<?php query_posts('posts_per_page=10'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php foreach($tax_posts as $tax_post): ?> <a href="<?php echo get_permalink($tax_post->ID); ?>"> <?php echo get_the_title($tax_post->ID); ?> <?php endforeach; ?>
<?php endwhile; ?> <?php else: ?><?php endif; ?>

補足情報(FW/ツールのバージョンなど)

dreamweaver 2018

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答3

0

numberpostsを指定してみてください。

【get_posts – WordPress私的マニュアル】
https://elearn.jp/wpman/function/get_posts.html

【get_posts() | Function | WordPress Developer Resources】
https://developer.wordpress.org/reference/functions/get_posts/

投稿2019/06/11 08:43

kei344

総合スコア69398

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

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

kyaapo

2019/06/11 08:53 編集

回答有り難うございます!! 私かなりの初心者でして、どこにどのように入れたらよいか教えていただけませんでしょうか? ちなみになんですが、function.phpは以下のように記載しております。 <?php // アイキャッチ画像を有効にする。 add_theme_support('post-thumbnails'); function customize_menus(){ global $menu; $menu[19] = $menu[10]; //メディアの移動 unset($menu[10]); } add_action( 'admin_menu', 'customize_menus' ); //カスタム投稿 register_post_type( 'recruit-rec', array( 'label' => '募集職種', 'labels' => array( 'all_items' => '募集店舗一覧' ), //'rewrite' => array( 'with_front' => false ), 'rewrite' => array('slug' => 'recruit-rec'), 'hierarchical' => false, 'public' => true, 'has_archive' => true, 'menu_position' => 20, //'capability_type' => 'page', 'supports' => array( 'title', 'page-attributes'), ) ); register_taxonomy( 'category-rec', 'recruit-rec', array( 'label' => 'カテゴリー', 'labels' => array( 'all_items' => 'カテゴリー一覧', 'add_new_item' => 'カテゴリーを追加' ), //'rewrite' => array('slug' => 'product'), 'hierarchical' => true ) ); //global $wp_rewrite; //$wp_rewrite->flush_rules(); ?>
kyaapo

2019/06/11 12:16

何故か 大見出し ・記事のタイトル ・記事のタイトル これらがセットで一つとみなされ、×10できてしまいました・・・・。 そこで、別のやり方なのですが、以下のやり方ですと タイトル別で表示されずに投稿したものすべて表示されてしまうのですが、 これをタイトル別の表示にすることは可能でしょうか・・・? 何度も申し訳ありません。 <?php $taxonomy_name = 'category-rec'; $taxonomys = get_terms($taxonomy_name); if(!is_wp_error($taxonomys) && count($taxonomys)): foreach($taxonomys as $taxonomy): $tax_posts = get_posts(array('post_type' => get_post_type(), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) ); if($tax_posts): ?> <h2><span><?php echo esc_html($taxonomy->name); ?></span></h2> <table> <tr> <th>募集職種</th> <td> <?php $args = array( 'numberposts' => -1,//全てのpostを持ってくる 'post_type' => 'recruit-rec', 'orderby' => 'post_date',//日付順 'order' => 'ASC',//投稿を古い順に表示 'recruit-rec' => $cat->slug ); $my_posts = get_posts( $args ); if ( $my_posts ) { // 該当する投稿があったら回す foreach ( $my_posts as $post ) : setup_postdata( $post ); ?> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> <?php endforeach;} else {} wp_reset_postdata(); ?> </td> </tr> </table> <?php endif; endforeach; endif; ?>
kei344

2019/06/11 12:21

コメントエリアではマークダウンが使えないため、コードはここではなく質問文にコードブロックで追記してください。(決して元のコードを消さないでください) また、「タイトル別」とは何のことでしょう。どの部分を指しているかがわかりません。
kyaapo

2019/06/11 12:39

承知いたしました!ご新設にしてくださりありがとうございます! 今色々試していたら、タイトルというのは大見出しのことを指していました言葉足らずで申し訳ありません! その大見出し別に表示ができたのですが、 'numberposts' => -1 ←にしているため今まで投稿した記事すべてが 大見出しの下に表示されてしまうので、 投稿内容も大見出し別に表示させたいのですが、その場合はどうしたらよいですか?? 大見出し ・AAAAAA ・AAAAAA ・AAAAAA 大見出し2 ・BBBBBB ・BBBBBB ・BBBBBB このような感じで大見出し別で記事内容も表示させたいです。 質問文にコード追記いたします!
kyaapo

2019/06/11 12:45

該当のソースコードに追記いたしました!!
guest

0

なんとか解決いたしました!!!
回答有り難うございます!

投稿2019/06/12 06:28

kyaapo

総合スコア17

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

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

0

自己解決

<?php $taxonomy_name = 'category-rec'; $taxonomys = get_terms($taxonomy_name); if(!is_wp_error($taxonomys) && count($taxonomys)): foreach($taxonomys as $taxonomy): $tax_posts = get_posts(array('post_type' => get_post_type(), 'taxonomy' => $taxonomy_name, 'term' => $taxonomy->slug ) ); if($tax_posts): ?>
<h2><span><?php echo esc_html($taxonomy->name); ?></span></h2> <table> <tr> <th>募集職種</th> <td> <?php $args = array( 'numberposts' => -1,//全てのpostを持ってくる 'post_type' => 'recruit-rec', 'orderby' => 'post_date',//日付順 'order' => 'ASC',//投稿を古い順に表示 'recruit-rec' => $cat->slug ); $my_posts = get_posts( $args ); if ( $my_posts ) { // 該当する投稿があったら回す foreach ( $my_posts as $post ) : setup_postdata( $post ); ?> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> <?php endforeach;} else {} wp_reset_postdata(); ?> </td> </tr> </table> <?php endif; endforeach; endif; ?>

投稿2019/06/11 12:40

kyaapo

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問