概要
クライアント様のWEBサイトをWordPressで構築し、functions.phpの編集とプラグインの「カスタムフィールドテンプレート」で追加したカスタム投稿(投稿タイプ:menu)から画像の投稿をしてもらう際、クライアント様の環境で投稿したときだけ投稿時の画面遷移や保存されている状態がおかしくなり、記事の投稿ができません(私の環境では問題なく投稿できます。)
現象の詳細は当質問の下部でご説明します。
環境
サーバー:さくらのスタンダード
DB:MySQL 5.7
WordPress Ver.5.3.2
PHP 7.3.14 (モジュール版)
【導入済みのプラグイン】
- All in One SEO Pack
- Classic Editor
- カスタムフィールドテンプレート
の3点のみ
私の投稿環境
【管理者権限】
・macOS Catalina(10.15.2)
ブラウザ:Chrome , Safari , Firefox
いずれも正常に投稿完了。
クライアント様の投稿環境
【編集者権限】
・macOS High sierra(10.13)
ブラウザ:Chrome , Safari , Firefox
・Windows7
ブラウザ:Chrome
いずれも同じ現象が起きる。
カスタマイズした内容
★functions.php
php
1//カスタム投稿タイプ「menu」を追加 2add_action( 'init', 'create_post_type' ); 3function create_post_type() { 4 register_post_type( 'menu', [ 5 'labels' => [ 6 'name' => __( 'メニュー' ), 7 'singular_name' => __( 'メニュー' ) 8 ], 9 'public' => true, 10 'has_archive' => true, 11 'show_in_rest' => true, 12 'menu_position' =>5, 13 ]); 14} 15 16//タクソノミーを追加 17function add_taxonomy() { 18 register_taxonomy( 19 'info-cat', 20 'menu', 21 array( 22 'label' => 'タクソノミー', 23 'singular_label' => 'タクソノミー', 24 'labels' => array( 25 'all_items' => 'タクソノミー一覧', 26 'add_new_item' => 'タクソノミーを追加' 27 ), 28 'public' => true, 29 'show_ui' => true, 30 'show_in_nav_menus' => true, 31 'hierarchical' => true 32 ) 33 ); 34} 35add_action( 'init', 'add_taxonomy' ); 36 37//カスタム投稿タイプの一覧をトップページに表示 38function my_news_get_posts( $query ) { 39 if ( is_admin() || ! $query->is_main_query() ) return; 40 41 if ( is_front_page() ) { 42 $query -> set( 'post_type', 'menu' ); 43 $query -> set( 'posts_per_page', '5' ); 44 } 45} 46add_action( 'pre_get_posts', 'my_pre_get_posts' );
またプラグイン「カスタムフィールドテンプレート」の機能で、本文の下に画像を5枚アップロードできるコンテンツを追加
起きる現象
クライアント様の環境でmenuを投稿すると、
0. 「公開」を押しても記事が「下書き」で保存されてしまう
0. 「公開」を押した後の画面遷移がなぜか「投稿タイプ:post」の一覧が表示される
0. 「下書き」で保存された記事を再編集すると、最初に選択したはずのタクソノミーが選択解除されている
0. 選択した画像ファイル名がなぜか「投稿タイプ:post」の記事タイトル名になっている
↑これは「投稿タイプ:post」で一番最初に投稿した記事のタイトルです。
表示されるエラー
デバッグモードをtrueに変更し、正常に投稿できる私の環境からカスタム投稿の画像を一度投稿し、その後削除すると下記が表示されます。
Notice: Undefined variable: value in /home/◯◯◯◯/www/[本体]/wp-content/plugins/custom-field-template/custom-field-template.php on line 3208 Notice: Undefined variable: value in /home/◯◯◯◯/www/[本体]/wp-content/plugins/custom-field-template/custom-field-template.php on line 3212 Warning: Cannot modify header information - headers already sent by (output started at /home/◯◯◯◯/www/[本体]/wp-content/plugins/custom-field-template/custom-field-template.php:3208) in /home/◯◯◯◯/www/[本体]/wp-admin/post.php on line 223 Warning: Cannot modify header information - headers already sent by (output started at /home/◯◯◯◯/www/[本体]/wp-content/plugins/custom-field-template/custom-field-template.php:3208) in /home/◯◯◯◯/www/[本体]/wp-includes/pluggable.php on line 1265 Warning: Cannot modify header information - headers already sent by (output started at /home/◯◯◯◯/www/[本体]/wp-content/plugins/custom-field-template/custom-field-template.php:3208) in /home/◯◯◯◯/www/[本体]/wp-includes/pluggable.php on line 1268
またさくらのサーバーログには下記が表示されます。
[Thu Feb 06 13:25:49.594968 2020] [mpm_prefork:notice] [pid 31674] AH00163: Apache/2.4.41 (Unix) OpenSSL/1.0.2o-freebsd PHP/7.3.14 configured -- resuming normal operations [Thu Feb 06 13:25:49.595073 2020] [core:notice] [pid 31674] AH00094: Command line: '/usr/local/apache/bin/httpd -f /home/config/users/◯◯◯◯/http/user-httpd.conf' [Thu Feb 06 13:53:26.050779 2020] [php7:error] [pid 43727] [client 119.104.2.25:0] script '/home/◯◯◯◯/www/index.php' not found or unable to stat, referer: https://◯◯◯◯.com/[本体]/wp-admin/post.php
試したこと
1.権限の問題?
双方の環境で、【管理者権限】【編集者権限】をそれぞれ切り替えても解決せず。
2.環境の問題?
クライアント様側だけ、macOS、Windowsのどちらでも上記の現象が見られる。
私の環境では問題なし。
3.その他
【編集者権限】のみ、表示するメニューを減らすカスタマイズをfunctions.phpで行っていたので、それを解除
→状況が変わらず。
結果、解決せず困っています。
上記の状況です。全く原因の検討がつかなくなってしまったので、もしこちらの内容でなにか原因として考えられることがありましたらご教示いただきたいと思います。
不足情報あれば追記致します。宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー