サポート » 使い方全般 » エラーが出る "Call to undefined function wp_style_add_data()"

  • Fatal error: Call to undefined function wp_style_add_data() in /export/sd08/www/jp/r/e/×××××/wordpress-3.5-ja-jetpack-undernavicontrol/wp-content/themes/twentyfourteen/functions.php on line 237

    特に何もいじった覚えが無いのですが上記のメッセージが表示され
    ブログが見れなくなってしまいました。
    管理画面も左のメニューのみ表示され(操作不可)右側は真っ白な状態です。
    知識が全くないのでどのように直せば良いのかが分からず、ネットで調べてみたものの
    解決法が分からなかったのでこの場をお借りしました。
    教えて頂けましたら助かります。
    下記がメッセージで記された辺りのphpです。
    最後から3行目のwp_style_add_data( ‘twentyfourteen-ie’, ‘conditional’, ‘lt IE 9’ );
    が237行目です。
    お力を貸して頂けましたら嬉しいです。
    よろしくお願い致します。

    function twentyfourteen_scripts() {
    	// Add Lato font, used in the main stylesheet.
    	wp_enqueue_style( 'twentyfourteen-lato', twentyfourteen_font_url(), array(), null );
    
    	// Add Genericons font, used in the main stylesheet.
    	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.0.2' );
    
    	// Load our main stylesheet.
    	wp_enqueue_style( 'twentyfourteen-style', get_stylesheet_uri(), array( 'genericons' ) );
    
    	// Load the Internet Explorer specific stylesheet.
    	wp_enqueue_style( 'twentyfourteen-ie', get_template_directory_uri() . '/css/ie.css', array( 'twentyfourteen-style', 'genericons' ), '20131205' );
    	wp_style_add_data( 'twentyfourteen-ie', 'conditional', 'lt IE 9' );
    
    	if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
    		wp_enqueue_script( 'comment-reply' );
    	}

    [モデレーター編集: 「【重要】 お読みください」はフォーラム管理上のお知らせを掲載するカテゴリーですので質問のトピックには使用されないようお願いします。質問のトピックを作成される際には最もあてはまるカテゴリーを選択してください。本件は「使い方全般」カテゴリーに移動します。]

    [モデレーター編集: タイトルが空になっていたので適切なタイトルに変更しました。]

    [モデレーター編集: コードはバッククォート(`)で囲んでください。]

15件の返信を表示中 - 16 - 30件目 (全57件中)
  • nobita様

    ご返信ありがとうございます。
    教えて頂いた通り
    以下の部分
    wp_enqueue_style( ‘twentyfourteen-ie’, get_template_directory_uri() . ‘/css/ie.css’, array( ‘twentyfourteen-style’, ‘genericons’ ), ‘20131205’ );
    wp_style_add_data( ‘twentyfourteen-ie’, ‘conditional’, ‘lt IE 9’ );

    /*
    wp_enqueue_style( ‘twentyfourteen-ie’, get_template_directory_uri() . ‘/css/ie.css’, array( ‘twentyfourteen-style’, ‘genericons’ ), ‘20131205’ );
    wp_style_add_data( ‘twentyfourteen-ie’, ‘conditional’, ‘lt IE 9’ );
    */
    に変更(/*,*/の追加)
    を行ったところ、ChromeやFxブラウザでは真っ白な画面になり、エラーメッセージも表示されなくなりました。

    続いて
    header.phpを開いて
    wp_head();
    ?>
    <body>
    の wp_head();の直後(<body>の直前に)以下を貼り付けます

    <!–[if lt IE 9 ]>
    <link rel=’stylesheet’ href='<?php echo get_template_directory_uri() . ‘/css/ie.css’;?>’ type=’text/css’ media=’all’ />
    <![endif]–>

    上記を試したところ、
    ブログタイトルだけ表示されるようになり、
    以下のメッセージが表示されるようになりました。

    Fatal error: Call to undefined function twentyfourteen_has_featured_posts() in /export/sd08/www/jp/r/e/gmoserver/4/8/×××××/wordpress-3.5-ja-jetpack-undernavicontrol/wp-content/themes/twentyfourteen/index.php on line 22

    一刻も早くブログを再開することが最優先ですので
    テーマを変更することに抵抗はありません。
    引き続きお力を貸して頂けましたら幸いです。
    何卒よろしくお願い致します。

    메텔

    (@digitmaetel)

    MacOSX でしたら Cyberduck を App Store からインストールしておくと便利です。
    SSL接続できるので安心です。
    お名前.comのコントロールパネルで「追加FTPアカウント」をつくって
    そちらを FTP 接続用にすると良いです。

    そのうえで、TwentyFourteen をディレクトリ削除するのが再開が早いと思われます。

    digit@maetel様

    教えて頂いた通りにお名前.comのコントロールパネルで「追加FTPアカウント」をつくり、
    Cyberduck を使用しTwentyFourteen をディレクトリ削除することができました。
    ありがとうございます。
    しかし、ブログは真っ白な画面のままで、
    ダッシュボードも操作できないままです。
    お名前.comのコントロールパネルからテーマの変更が可能なのでしょうか?
    度々で申し訳ございません。
    よろしくお願いいたします。

    메텔

    (@digitmaetel)

    ログインページはアクセスできるので直接ログインしてダッシュボードに入れるでしょう。

    TwentyFourteen テーマが壊れていますとメッセージがでているので、 TwentyFourteen に替える以前のテーマに戻しましょう。

    digit@maetel様

    おっしゃる通りログインしてダッシュボードには入れるのですが、
    左横のメニューをクリックしても反応せず、右のスペースは真っ白な状態です。
    この状態でどのようにテーマを変えるか分からずにいます。
    ご教授頂けましたら助かります。
    よろしくお願いいたします。

    메텔

    (@digitmaetel)

    トラブル解決の手順としては、

    Twenty FourteenかWordPress本体、どちらかのファイルが破損していることが考えられます。

    でTwenty Fourteenは削除したので、本体を次に疑うわけですがダッシュボードの右側だけが表示されないということなので

    プラグインを全部無効化しよう。
    FTP でPluginsディレクトリをリネームして、新規に空の Plugin ディレクトリを作りましょう。
    その後、ダッシュボードにログインするとどうなるでしょう。

    FTP でPluginsディレクトリをリネームしました。

    「新規に空の Plugin ディレクトリを作る」というのは
    cyberduckのアクション→新規フォルダ
    でPluginフォルダを作るという手順でよろしいでしょうか?

    上記をやった結果、ダッシュボードにログインしましたが
    先ほどと変わらず右側が真っ白な状態です。

    메텔

    (@digitmaetel)

    plugins フォルダを作りましょう。
    以前の plugins フォルダは、old-plugins などにリネーム。

    digit@maetel様

    ありがとうございます。
    教えて頂いた通りにやってみましたが、
    ダッシュボードにログインしたところ
    先ほどと変わらず右側が真っ白な状態です。

    메텔

    (@digitmaetel)

    WordPress本体のファイルが破損していることが考えられます。
    WordPressをデバッグモードにしてみましょう。
    コアファイル自体に深刻な問題が有るのでしょう。

    digit@maetel様

    教えて頂いた通りWordPressをデバッグモードにしてみましたが、
    define(‘WP_DEBUG’, true);
    を追加したところ、ブラウザにエラーが表示されないので、
    解決法としてネットで載っていた
    ini_set(‘display_errors’, ‘On’);を先ほど追加したdefine(‘WP_DEBUG’, true);の下に
    追加してみましたが、やはり何も表示されない状態です。
    ちなみにwp-contentフォルダ内にdebug.logが自動的に作成されていなかったので
    新規で作成しました。
    自分なりに調べてみていろいろやってみたのですが上記で合っていますでしょうか?

    wp-config.php

    /* この項目があるので、trueにします */
    define('WP_DEBUG',true);
    /* その下に目的によって以下を記述します*/
    
    /*wp-content/debug.logにエラーが記述されます*/
    define('WP_DEBUG_LOG', true);
    
    /*圧縮なしのスクリプトが読み込まれます*/
    define('SCRIPT_DEBUG', true);
    
    /* trueにすると、ディスプレイにエラーが表示されます */
    define('WP_DEBUG_DISPLAY',false);

    nobita様

    ありがとうございます。
    wp-config.phpに下記を追加しましたが、
    状況は変わらず画面が真っ白なままです。

    /* この項目があるので、trueにします */
    define(‘WP_DEBUG’,true);
    /* その下に目的によって以下を記述します*/

    /*wp-content/debug.logにエラーが記述されます*/
    define(‘WP_DEBUG_LOG’, true);

    /*圧縮なしのスクリプトが読み込まれます*/
    define(‘SCRIPT_DEBUG’, true);

    /* trueにすると、ディスプレイにエラーが表示されます */
    define(‘WP_DEBUG_DISPLAY’,false);

    메텔

    (@digitmaetel)

    dreamweaver を試しに使わないで、ファイルマネージャからダウンロードした wp-config.php を テキストエディットで編集保存して Cyberduck でアップロードして入れ替えてみてください。
    その際、元のファイルはバックアップしておきましょう。

    digit@maetel様

    ファイルマネージャからダウンロードした wp-config.php を テキストエディットで編集保存して Cyberduck でアップロードして入れ替える方法でやってみましたが、
    状況は変わらず画面が真っ白なままです。

15件の返信を表示中 - 16 - 30件目 (全57件中)
  • トピック「エラーが出る "Call to undefined function wp_style_add_data()"」には新たに返信することはできません。