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

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

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

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

Q&A

解決済

1回答

1083閲覧

wordpressのカスタム投稿のカテゴリー一覧が表示されない

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

0グッド

0クリップ

投稿2019/06/11 12:52

前提・実現したいこと

wordpressのカスタム投稿のカテゴリーの記事一覧を表示させたいのですが、なかなかうまくいきません

wp管理画面で作成したメニューのカテゴリーをクリックしたら、その先のページにそのカテゴリーの記事が一覧で表示されるイメージです。

参考にしたサイト:
https://sunny247.xyz/?p=275

他にも色々なサイトを見ました。。。

ここまで表示されないと、カスタム投稿まわりのコードを書いていたときに、投稿タイプの名前をseminarから変えたり、戻したりしながら記事を追加したり、などいろいろ触っていたので、変な記事データがDBに保存されてしまったのかなと思ったのですが、DBの見方がわからず完璧に行き詰まった状態です。(そもそもwpのコードが違う可能性もあるし、自分ではどこがおかしいのかが分からない状態です)

ご教授お願い致します。

category.php

<?php get_header(); ?> <div class="l-wrapper"> <div> <?php $term_name = single_term_title( '', false ); echo $term_name; ?> </div> <?php // タクソノミ取得 $catargs = array( 'taxonomy' => 'seminar' ); $catlists = get_categories( $catargs ); foreach($catlists as $cat) : ?> <div class="<?php echo $cat->slug; ?>"> <h1><?php echo $cat->name; ?></h1> <?php $args = array( 'posts_per_page'=> -1, 'post_type' => 'seminar', 'seminar' => $cat->slug, 'orderby' => 'date', 'order' => 'DESC' ); $my_posts = get_posts( $args ); if ( $my_posts ) { // 該当する投稿があったら foreach ( $my_posts as $post ) : setup_postdata( $post ); ?> <div> <h2>Q:<?php the_title(); ?></h2> <p>A:<?php the_content(); ?></p> </div> <?php endforeach; } else { echo 'このカテゴリに投稿はありません'; } wp_reset_postdata(); ?> </div> <?php endforeach; ?> </div> <?php get_footer(); ?>

function.php

<?php add_theme_support('title-tag'); add_theme_support('html5', array('search-form', 'comment-form', 'comment-list', 'gallery', 'caption')); add_theme_support('automatic-feed-links'); add_theme_support('post-thumbnails'); // ================================================================================ // メニューを登録 // ================================================================================ // wp_nav_menu()で呼び出し register_nav_menu('header-nav', 'header_nav'); register_nav_menu('footer-nav', 'footer_nav'); // ================================================================================ // ダッシュボード サイドバー 不要な項目を削除 // ================================================================================ function remove_menus () { global $menu; unset($menu[5]); // 投稿 unset($menu[25]); // コメント } add_action('admin_menu', 'remove_menus'); // ================================================================================ // jsファイル読み込み // ================================================================================ function twpp_enqueue_scripts() { wp_enqueue_script( 'main-script', get_template_directory_uri() . '/application.js', array(), false, true ); } add_action( 'wp_enqueue_scripts', 'twpp_enqueue_scripts' ); // ================================================================================ // ビジュアルエディタにcss適用 // ================================================================================ function add_editor_style_cb() { add_editor_style(); } add_action('admin_init', 'add_editor_style_cb'); // ================================================================================ // カスタム投稿タイプ追加 // ================================================================================ add_action( 'init', 'my_post_type' ); function my_post_type() { $Supports = [ 'title', 'editor', 'custom-fields', 'revisions' ]; register_post_type( 'seminar', array( 'label' => 'セミナー', 'labels' => array( 'name' => 'セミナー', 'singular_name' => 'セミナー', 'all_items' => 'セミナー一覧', ), 'public' => true, 'has_archive' => true, 'menu_position' => 5, 'supports' => $Supports, 'taxonomies' => array( 'category', 'post_tag' ), 'rewrite' => array('with_front' => false), 'hierarchical' => true, ) ); } add_filter( 'post_type_link', 'my_post_type_link', 1, 2 ); function my_post_type_link( $link, $post ){ if ( 'seminar' === $post->post_type ) { return home_url( '/seminar/' . $post->ID ); } else { return $link; } } add_filter( 'rewrite_rules_array', 'my_rewrite_rules_array' ); function my_rewrite_rules_array( $rules ) { $new_rules = array( 'seminar/([0-9]+)/?$' => 'index.php?post_type=seminar&p=$matches[1]', ); return $new_rules + $rules; } // ================================================================================ // ぱんくず実装 // ================================================================================ if ( ! function_exists( 'custom_breadcrumb' ) ) { function custom_breadcrumb( $wp_obj = null ) { // トップページでは何も出力しない if ( is_home() || is_front_page() ) return false; //そのページのWPオブジェクトを取得 $wp_obj = $wp_obj ?: get_queried_object(); echo '<div class="c-breadcrumb">'. '<ol class="c-breadcrumb__lists">'. '<li class="c-breadcrumb__item">'. '<a href="'. home_url() .'"><span>TOP</span></a>'. '</li>'; 文字数制限のため以下省略... ※残りはパンくずの記述のみ

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

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

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

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

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

YukiYamashina

2019/06/11 15:59

$catargs = array( 'taxonomy' => 'seminar' ); で seminar というカスタムタクソノミーを指定されていますが、これは登録されていますでしょうか?
退会済みユーザー

退会済みユーザー

2019/06/12 02:29

カスタムタクソノミーの存在を初めて知りました。カテゴリーをカスタムタクソノミーに変更して繰り返し文を変えたら無事表示されました。ありがとうございました。
guest

回答1

0

ベストアンサー

投稿2019/06/12 02:30

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問