web-dev-qa-db-ja.com

私のfunctions.phpが白い画面とメディアライブラリの問題を起こすのはなぜですか?

概要:

私は子テーマをオーサリングしていて、functions.phpがメディアライブラリに問題を引き起こしていて、投稿を編集した後に「白いスクリーン」が表示されることに気づいた。私はfunctions.phpからすべてのコンテンツを削除することで問題を解決しましたが、これが何を引き起こしているのかわかりません。


情報:

本番サーバー:マルチサイト、Wordpress 3.8.1ローカル開発サーバー( "localhost"):Wordpress 3.8.1とWindows 7 Pro SP1のAMPPS v2.2(php v5.3)。


メディアライブラリ問題:

  • 外観 - >ヘッダー - > '画像の選択' - > 'メディアライブラリから画像を選択してください'に移動します。
  • AND投稿に行くと - > 'すべての投稿' - > '投稿の編集' - > 'set-featured image'
  • 私のライブラリが空だったかのように、メディアライブラリにはコンテンツが表示されませんでした。これはダッシュボード - >メディア - >ライブラリに行き、メディアコンテンツがあることを確認しているにもかかわらずです。
  • また、上記の方法でメディアファイルをアップロードしようとすると、「アップロード中にエラーが発生しました。後でもう一度やり直してください」というエラーが表示されます。

ホワイトスクリーン問題:

  • 投稿 - >すべての投稿 - >投稿の編集 - >更新の順に進むと、ボタンをクリックして投稿を更新/作成すると、白い画面が表示されます。
  • Wysiwyg内から投稿を保存するためにCNTRL+sを使用しても白い画面が表示されませんでした。

functions.php

すべてのコンテンツを削除して問題を解決する前は、functions.phpがこのように見えていました(とにかく、その中に関数が必要なくなったことがわかりました)。 http://Pastebin.com/KS66yfqK にもあります

<!-- In a child theme, all of the functions of the parent theme are present, unless   overridden here -->
<?php

function cals_fetch_feed2($feed_uri,$num_items, $echo = 1, $length =-1, $exclude=''){
//NOTE: to disable cache, go to feed.php and replace timestamp in 
// $feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200, $url)); 
$i = Rand(1,5);
// Get RSS Feed(s)
include_once(ABSPATH . WPINC . '/feed.php');

// Get a SimplePie feed object from the specified feed source.
$rss = fetch_feed($feed_uri);

if (!is_wp_error( $rss ) ) : // Checks that the object is created correctly 

    //enable order by date
    $rss->enable_order_by_date(true);

    // Figure out how many total items there are, but limit it to $num_items. 
    $maxitems = $rss->get_item_quantity($num_items); 

    // Build an array of all the items, starting with element 0 (first element).
    $rss_items = $rss->get_items(0, $maxitems); 
endif;

if($echo == 1){

    if (count($rss_items) == 0) {
        //echo '<li>No items.</li>';
        echo 'no items';
    } else {
        foreach ( $rss_items as $item ) { 

            //check for excluded posts
            if($exclude!='' && $exclude == $item->get_id()){
                continue;
            }


            $featuredImageSrc = $item->get_item_tags('', 'featuredimage'); 


            $featuredImage = $featuredImageSrc[0]['data'];



            ?>

            <?php  
            /*if($featuredImage) {*/

                echo '<div class="newsItem fromFunctionsPHP ';
                if(!$featuredImage) {echo 'noImage ';}




                foreach ($item->get_categories() as $category)
                    {
                        echo $category->get_label()." ";


                        /*$imageCat = $category->get_label();

                    if($imageCat == "Agriculture" || $imageCat == "Food" || $imageCat == "Environment" || $imageCat == "Energy" || $imageCat == "Health" || $imageCat == "People" || $imageCat == "Communities" || $imageCat == "Events") {

                        break;

                    } else {


                        echo "Announcements ";
                        break;
                    }*/

                    }

                echo '"><div class="previousa"><div class="additionalContent">';

                $notdisplayed = true;

            if($featuredImage1) {
                echo '<img src="'.$featuredImage1.'" alt="" />';
            } else if($featuredImage) {
                echo '<img src="'.$featuredImage.'" alt="" />';
            } else {
                echo '<div class="noImageSpacer"></div>';
                /*foreach ($item->get_categories() as $category)
                {
                    $imageCat = $category->get_label();

                    if($imageCat == "Agriculture") {

                        echo '<img src="';
                        echo bloginfo('template_url');
                        echo '/images/agriculture-pic-';
                        echo Rand(1,3);
                        echo '.jpg" alt=" " />';
                        break;
                    } else if($imageCat == "Food") {

                        echo '<img src="';
                        echo bloginfo('template_url');
                        echo '/images/food-pic-';
                        echo Rand(1,3);
                        echo '.jpg" alt=" " />';
                        break;
                    } else if($imageCat == "Environment") {

                        echo '<img src="';
                        echo bloginfo('template_url');
                        echo '/images/environment-pic-';
                        echo Rand(1,3);
                        echo '.jpg" alt=" " />';
                        break;
                    } else if($imageCat == "Energy") {

                        echo '<img src="';
                        echo bloginfo('template_url');
                        echo '/images/energy-pic-';
                        echo Rand(1,3);
                        echo '.jpg" alt=" " />';
                        break;
                    } else if($imageCat == "Health") {

                        echo '<img src="';
                        echo bloginfo('template_url');
                        echo '/images/health-pic-';
                        echo Rand(1,3);
                        echo '.jpg" alt=" " />';
                        break;
                    } else if ($imageCat == "People" || $imageCat == "Communities") {

                        echo '<img src="';
                        echo bloginfo('template_url');
                        echo '/images/people-pic-';
                        echo Rand(1,3);
                        echo '.jpg" alt=" " />';
                        break;
                    } else if ($imageCat == "Events") {

                        echo '<img src="';
                        echo bloginfo('template_url');
                        echo '/images/Twitter-bg-';
                        echo Rand(1,3);
                        echo '.jpg" alt=" " />';
                        break;
                    } else {


                        echo '<img src="';
                        echo bloginfo('template_url');
                        echo '/images/generalcals-bg-';
                        echo $i;
                        echo '.jpg" alt=" " />';
                        if($i < 5) {
                            $i = $i + 1;
                        } else {
                            $i = 1;
                        }
                        break;
                    }



                }*/


            }
            echo '</div>';

                echo '<div class="text"><div class="glyph"><div class="symbol"></div></div><div class="titleheading"><h3>';
                $title = $item->get_title();
                if($length != -1){
                    if(strlen($title)>$length){ 
                        echo substr($title,0,$length).'...'; } 
                    else { 
                        echo $title; 
                    }
                } else { 
                    echo $title; 
                }
            echo '</h3></div><div class="excerpt">';
            $content = $item->get_description(); 
            echo $content;
            echo '</div><div class="dateheading">';
            echo $item->get_date('F j, Y');
            echo '</div><div class="hiddendate">';
            echo "-".$item->get_date('Ymd');
            echo '</div><div class="hiddengroup">';
            $cattemp = $item->get_category();
            echo $cattemp->get_label();
            echo '</div><span class="number">10</span></div>';





        echo '<a href="';
        echo $item->get_permalink();
        echo '" class="highlight" title="';
        echo 'Posted '.$item->get_date('j F Y | g:i a');
        echo '">Read more about ';
        echo $item->get_title();
        echo '<div class="loadingSpinner"><div class="progress"></div></div></a></div></div>';


        /*}  else {

            //What to display if no image is supplied by the article

            echo '<div class="newsItem noImage ';
                foreach ($item->get_categories() as $category)
                    {
                        echo $category->get_label()." ";
                    }

                echo '"><div class="previousa"><div class="titleheading"><h3>';
                $title = $item->get_title();
                if($length != -1){
                    if(strlen($title)>$length){ 
                        echo substr($title,0,$length).'...'; } 
                    else { 
                        echo $title; 
                    }
                } else { 
                    echo $title; 
                }
            echo '</h3></div><div class="text"><div class="glyph"><div class="symbol"></div></div><div class="excerpt">';
            $content = $item->get_description(); 
            echo $content;
            echo '</div><div class="dateheading">';
            echo $item->get_date('F j, Y');
            echo '</div><div class="hiddendate">';
            echo "-".$item->get_date('Ymd');
            echo '</div><div class="hiddengroup">';
            $cattemp = $item->get_category();
            echo $cattemp->get_label();
            echo '</div><span class="number">10</span></div><div class="additionalContent">';









        echo '</div><a href="';
        echo $item->get_permalink();
        echo '" class="highlight" title="';
        echo 'Posted '.$item->get_date('j F Y | g:i a');
        echo '">Read more about ';
        echo $item->get_title();
        echo '<div class="loadingSpinner"><div class="progress"></div></div></a></div></div>';


        }*/
         ?>




        <?php }
    }

} else {

    return $rss_items;

}
}

/*function soilsextension_enqueue_scripts(){
 $handle = 'soilsextension_scripts';
 $src = get_theme_root_uri() . '/soilsextension/js/min/master.min.js';

wp_register_script($handle, $src, false, false, true);

wp_enqueue_script('soilsextension_scripts');
}

add_action('wp_enqueue_scripts', 'soilsextension_enqueue_scripts'); */

アクティブプラグイン:

私がテストしていた間、これらはアクティブなプラグインでした。

制作:高度なカスタムフィールドバージョン4.3.5( http://www.advancedcustomfields.com/ )、カスタム投稿タイプUIバージョン0.8.2( http://webdevstudios.com/plugin/custom-post-type-ui/ )、イベントマネージャバージョン5.5.2( http://wp-events-plugin.com/ )、WP Super Cacheバージョン1.4( http:/ /wordpress.org/plugins/wp-super-cache/

Localhostアクティブプラグイン:Advanced Custom Fieldsバージョン4.3.4( http://www.advancedcustomfields.com/ )、カスタム投稿タイプUIバージョン0.8.2( http://webdevstudios.com/plugin/custom-post-type-ui/


試行された解決策:原因を理解するために、2つのケースを試みて結果を記録しました。

ケース1

functions.php上のhtmlコメントを削除

Localhost:「白い画面の問題」はありません。 「メディアライブラリの問題」、欠けています。

制作: "ホワイトスクリーンの問題"と "メディアライブラリの問題の両方が存在します。

ケース2

hTMLのコメントをfunctions.phpの上に置いて、関数cals_feed_fetch2を削除する

Localhost:「ホワイトスクリーンの問題」がありません。「メディアファイルの問題」が存在します。

制作:「白い画面の問題」が発生しています。メディアファイルの問題が存在する


結論:


Functions.phpの内容をすべて削除して問題を解決したようですが、元のfunctions.phpのどの部分がこれらの問題を引き起こしたのかわかりません。

1
Daniel Dropik

1行目は、PHPの範囲外の単なるHTMLコメントです。それはすべての応答と共に出力され、あなたが経験しているあらゆる種類の頭痛を引き起こします。

溶液?それを削除するか、またはそれをPHPコメントにします。

<?php    
/* In a child theme, all of the functions of the parent theme are present, unless   overridden here */

here で説明しているように、PHPタグの両側に空白がないことも確認する必要があります。

1
TheDeadMedic