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

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

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

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

解決済

WordPressの投稿画面で特定のカテゴリでのみ再編集しようとすると投稿画面の挙動がおかしくなる

raidomaru
raidomaru

総合スコア0

WordPress

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

2回答

0評価

0クリップ

1991閲覧

投稿2017/01/26 07:10

編集2022/01/12 10:58

###発生している問題・エラーメッセージ
特定のカテゴリーを選んだときだけ、投稿画面の挙動がおかしくなります。
新規投稿時は問題なく動いておるのですが、一旦保存して再編集をしようとすると下記の挙動がおかしくなります。

・出るはずのカスタムフィールドとが出ない
・ビジュアルモードとテキストモードの切り替えができない
・表示オプション、ヘルプなどが開かない
・アイキャッチ画像を設定を押すと画面遷移する(通常はポップアップ)
・メディアを追加を押しても動かない
・新規投稿で記入したテキストが白抜きになり文字数が0になっている
・function.phpでカテゴリーを1つしか選べなくしているが選べるようになってしまう

問題のカテゴリーはgalleryというスラッグで子カテゴリを2つ持っています。
後述するfunction.phpの設定により親であるgallery自体の選択はできない仕様にしてありますが、2つある子カテゴリーのどちらを選んでも同じ状態になります。

原因の検討もつかず、質問主体になり申し訳ございません。
不足情報などございましたら、ご指摘ください。

###試したこと
プラグインの一時停止
使用しているプラグインプラグインは下記です。
このうち、一時的に停止しても問題ないと思われるもの(★印のもの)を一つずつ停止しましたが、解決しませんでした。

・Advanced Custom Fields
・Archives for a category★
・Auto Post Thumbnail★
・Custom Post Type Permalinks★
・Custom Post Type UI★
・Duplicate Post★
・EWWW Image Optimizer★
・Intuitive Custom Post Order
・MW WP Form
・TinyMCE Advanced★
・Top Level Categories Fix
・Wordfence Security
・WP Multibyte Patch★
・Login rebuilder

カテゴリーの更新
該当カテゴリーの更新をしてみましたが、解決しませんでした。

###補足情報
カテゴリー関連の制御でfunction.phpに書きを記載しております。

php

//子カテゴリーがある親カテゴリーは選べなくする require_once\(ABSPATH \. '/wp-admin/includes/template\.php'\); class Danda_Category_Checklist extends Walker_Category_Checklist { function start_el\( &\$output, \$category, \$depth, \$args, \$id = 0 \) { extract\(\$args\); if \( empty\(\$taxonomy\) \) \$taxonomy = 'category'; if \( \$taxonomy == 'category' \) \$name = 'post_category'; else \$name = 'tax_input\['\.\$taxonomy\.'\]'; \$class = in_array\( \$category->term_id, \$popular_cats \) \? ' class="popular-category"' : ''; \$cat_child = get_category_children\(\$category->term_id\); if\(\$cat_child !== ""\) { \$output \.= "\\n<li id='{\$taxonomy}-{\$category->term_id}'\$class>" \. '<label class="selectit"><input value="' \. \$category->term_id \. '" type="checkbox" name="'\.\$name\.'\[\]" id="in-'\.\$taxonomy\.'-' \. \$category->term_id \. '"' \. checked\( in_array\( \$category->term_id, \$selected_cats \), true, false \) \. disabled\( empty\( \$args\['disabled'\] \), true, false \) \. ' /> ' \. esc_html\( apply_filters\('the_category', \$category->name \)\) \. '</label>'; }else{ \$output \.= "\\n<li id='{\$taxonomy}-{\$category->term_id}'\$class>" \. '<label class="selectit"><input value="' \. \$category->term_id \. '" type="checkbox" name="'\.\$name\.'\[\]" id="in-'\.\$taxonomy\.'-' \. \$category->term_id \. '"' \. checked\( in_array\( \$category->term_id, \$selected_cats \), true, false \) \. disabled\( empty\( \$args\['disabled'\] \), false, false \) \. ' /> ' \. esc_html\( apply_filters\('the_category', \$category->name \)\) \. '</label>'; } } } function lig_wp_category_terms_checklist_no_top\( \$args, \$post_id = null \) { \$args\['checked_ontop'\] = false; \$args\['walker'\] = new Danda_Category_Checklist\(\); return \$args; } add_action\( 'wp_terms_checklist_args', 'lig_wp_category_terms_checklist_no_top' \); //カテゴリーを一つしか選べなくする add_action\( 'admin_print_footer_scripts', 'limit_category_select' \); function limit_category_select\(\) { \?> <script type="text/javascript"> jQuery\(function\(\$\) { // 投稿画面のカテゴリー選択を制限 var cat_checklist = \$\('\.categorychecklist input\[type=checkbox\]'\); cat_checklist\.click\( function\(\) { \$\(this\)\.parents\('\.categorychecklist'\)\.find\('input\[type=checkbox\]'\)\.attr\('checked', false\); \$\(this\)\.attr\('checked', true\); }\); // クイック編集のカテゴリー選択を制限 var quickedit_cat_checklist = \$\('\.cat-checklist input\[type=checkbox\]'\); quickedit_cat_checklist\.click\( function\(\) { \$\(this\)\.parents\('\.cat-checklist'\)\.find\('input\[type=checkbox\]'\)\.attr\('checked', false\); \$\(this\)\.attr\('checked', true\); }\); \$\('\.categorychecklist>li:first-child, \.cat-checklist>li:first-child'\)\.before\('<p style="padding-top:5px;">カテゴリーは1つしか選択できません</p>'\); }\); </script> <\?php }

###デバックモードでのエラーメッセージ

log

Strict Standards: Declaration of Danda_Category_Checklist::start_el\(\) should be compatible with Walker_Category_Checklist::start_el\(&\$output, \$category, \$depth = 0, \$args = Array, \$id = 0\) in 中略 /wp-content/themes/example/functions\.php on line 97 Notice: Use of undefined constant ture - assumed 'ture' in 中略 /wp-content/themes/example/functions\.php on line 20 //下記2つのエラーは多数出ております。 Notice: get_category_children の使用はバージョン 2\.8\.0 から非推奨になっています! 代わりに get_term_children\(\) を使ってください。 in 中略 /wp-includes/functions\.php on line 3828 Notice: get_all_category_ids の使用はバージョン 4\.0\.0 から非推奨になっています! 代わりに get_terms\(\) を使ってください。 in 中略 /wp-includes/functions\.php on line 3828

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

kei344
kei344

2017/01/26 08:48

エラーは出ていませんか?デベロッパーツールで確認してみてください。http://eng-entrance\.com/javascript-display-error
raidomaru
raidomaru

2017/01/26 08:58

投稿編集画面のconsoleを確認しましたが、エラーや警告はありませんでした。記載されていたのはこちらの文言のみです。load-scripts\.php\?c=1&load\[\]=jquery-core,jquery-migrate,utils,jquery-ui-core,plupload&ver=4\.7\.1:9 JQMIGRATE: Migrate is installed, version 1\.4\.1
kei344
kei344

2017/01/26 09:13

WordPressをデバッグモードにして確認してみてください。http://mignonstyle\.com/debug-mode/
raidomaru
raidomaru

2017/01/26 10:14

デバックモードで確認したエラーを追記しました。
punchan
punchan

2017/01/26 11:06

別の子カテゴリーを作ってみたり、類似の階層構造を作って試したりはいかがでしょうか。
raidomaru
raidomaru

2017/01/26 11:30

子カテゴリーを1つ増やしてみましたが、同じ状態になってしまいました。他に子カテゴリーを持つ構造がいくつかあり、同じようにカスタムフィールドも使用しているのですがそちらは通常通り機能しております。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

WordPress

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