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

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

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

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

Q&A

解決済

1回答

3805閲覧

投稿者権限でカスタムフィールドが表示されない

tassi

総合スコア10

WordPress

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

0グッド

0クリップ

投稿2019/03/20 12:56

編集2019/03/25 00:24

前提・実現したいこと

WordPressで投稿者権限を持つユーザーグループはカスタム投稿タイプにのみ投稿できる、というサイトを作っています。

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

カスタム投稿タイプには Advanced Custom Fields で作ったカスタムフィールドを表示させているのですが、投稿者アカウントでログインするとカスタムフィールドが表示されません。
管理者、寄稿者、編集者では正しく表示されています。

カスタム投稿タイプの追加にはプラグインは使用していません。

試したこと

  • フィールドグループの表示ルールに【権限グループ=Author】を追加した
  • プラグイン「User Role Editor」をインストールし、試しにフィールドグループの全権限を付与した
  • 「Advanced Custom Fields」以外のプラグインをすべて停止してみた

いずれも効果は見られずカスタムフィールドは表示されないままです。

補足情報

ツールのバージョンなど

  • WordPress 5.1.1
  • Advanced Custom Fields 5.7.12

カスタム投稿タイプを追加しているコード

PHP

1//カスタム投稿タイプ追加 2function add_custom_post() { 3register_post_type( 4 'request', 5 array( 6 'label' => 'タイトル', 7 'public' => true, 8 'has_archive' => true, 9 'menu_position' => 5, 10 'supports' => array( 11 'title', 12 'editor', 13 'custom-fields', 14 'rewrite' => array('with_front' => false) 15 ) 16 ) 17); 18} 19add_action('init', 'add_custom_post'); 20 21function add_taxonomy() { 22 //カテゴリ 23 register_taxonomy( 24 'request-cat', 25 'request', 26 array( 27 'label' => 'カテゴリ', 28 'singular_label' => 'カテゴリ', 29 'labels' => array( 30 'all_items' => 'カテゴリ一覧', 31 'add_new_item' => 'カテゴリを追加' 32 ), 33 'public' => true, 34 'show_ui' => true, 35 'show_in_nav_menus' => true, 36 'hierarchical' => true 37 ) 38 ); 39} 40add_action( 'init', 'add_taxonomy' );

カスタムフィールドグループ設定画面のスクリーンショット

Advanced Custom Fields

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/03/21 07:30

カスタム投稿タイプおよびカスタムフィールドを追加するのに使用しているコードを質問文に追記していただけますか?
退会済みユーザー

退会済みユーザー

2019/03/21 07:59

また、「カスタムフィールドを表示」というのは、投稿の編集画面でそのカスタムフィールドを編集・表示可能になるということでしょうか? それとも、フロントエンドでカスタムフィールドが表示されるということでしょうか?
tassi

2019/03/22 11:43

ありがとうございます。カスタム投稿タイプを追加しているコードを追記しました。 カスタムフィールドはプラグイン「Advanced Custom Fields」を使って追加しており、コードは書いていません。 実現したい「カスタムフィールドを表示」というのは、ダッシュボード内のカスタム投稿の編集画面でそのカスタムフィールドを表示させ入力できるように、ということです。 追記したコードを見ていただければ分かるようにこのカスタム投稿タイプは本文入力欄はなしにしているのですが、投稿者権限だとカスタムフィールドなし、本文ありの編集画面になってしまいます。 お手数ですがどうぞよろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2019/03/22 22:35 編集

追記ありがとうございます。 「フィールドグループの表示ルール」には、カスタム投稿タイプ「request」で表示するという条件は書いていますか? 可能であれば、カスタムフィールドの設定をどのようにしているかをスクリーンショット等で質問文に記載してもらえますか?(3/23 7:35編集追記)
tassi

2019/03/25 00:23

ご確認ありがとうございます。スクリーンショットを追加しました。 ぼかしを入れていますが、「フィールドグループの表示ルール」は「投稿タイプ=request」となっています。
guest

回答1

0

自己解決

自己解決しました。ダッシュボードの投稿一覧に自分の投稿のみが表示されるよう、functions.php に下記のようなコードを書いていたのですがこちらが原因でした。

PHP

1function show_only_authorpost($query) { 2 global $current_user; 3 if(is_admin()){ 4 if(current_user_can('author') ){ 5 $query->set('author', $current_user->ID); 6 } 7 } 8} 9add_action('pre_get_posts', 'show_only_authorpost');

tohkaiさん、ありがとうございました。

投稿2019/03/26 13:39

tassi

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問