[WordPress]cocoonの設定画面で更新できない

発生した事象

管理画面 > Cocoon設定 で何か設定を変更し「変更をまとめて保存」ボタンを押しても変更が保存されない。
上部のボタンは、ページがリロードされるだけで、「保存した」や「失敗した」というメッセージも表示されず、入力値が保存されず前の状態になる。
下部のボタンは、リロードされず、保存もされない。

原因

プレビューで表示される部分にsearchform.phpを表示されるようにカスタマイズしたため。
formタグで設定部分を囲っているのが正常な状態だが、テーマ情報タブの後ろにフォームの閉じタグがきて、実際には設定画面を切り替えるタブの部分だけがfromで囲まれている状態で、肝心の設定情報がformタグ外になっていたため。

対応策

searchform.phpの中身を if (!is_admin()) で囲む

<?php //検索フォーム
/**
 * Cocoon WordPress Theme
 * @author: yhira
 * @link: https://wp-cocoon.com/
 * @license: http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later
 */
if (!is_admin()):
  if (!is_amp() || !is_ssl()): ?>
  <form class="search-box" method="get" action="<?php echo home_url('/'); ?>">
  <?php else: ?>
  <form class="amp-form search-box" method="get" action="<?php echo home_url('/'); ?>" target="_top">
  <?php endif; ?>
    <input type="text" placeholder="<?php _e( 'サイト内を検索', THEME_NAME ) ?>" name="s" class="search-edit">
    <button type="submit" class="search-submit"></button>
  </form>
<?php endif; ?>

コメント