-1

次のワードプレス テーマのオプションを作成しようとしていますが、このテーマではオプション ツリー プラグインを使用します。ほぼ 80% のオプションが css であるため、ファイルを作成し、style.php他の css ファイルと同様にヘッダーに追加します。

しかし、500サーバーエラーが発生し、ファイルを直接実行すると、500サーバーエラーでこのエラーが発生します:

HTML ドキュメントの文字エンコーディングが宣言されていません。ドキュメントに US-ASCII 範囲外の文字が含まれている場合、一部のブラウザー構成では、ドキュメントが文字化けしてレンダリングされます。ページの文字エンコーディングは、ドキュメントまたは転送プロトコルで宣言する必要があります。

私のstyle.phpファイルのコード:

<?php ob_start();
    header("Content-type: text/css");
    include("../../../wp-load.php");
    header("HTTP/1.0 200 OK");
?>
<?php
    if(function_exists('ot_get_option')){
?>
body{
    <?php 
        $option = ot_get_option('website_width'); 
        if(isset($option[0]) && isset($option[1])){
            echo "width:".$option[0].$option[1];
        }
    ?>;
}

.span8{
    <?php 
        $option = ot_get_option('width_with_sidebar'); 
        if(isset($option[0]) && isset($option[1])){
            echo "width:".$option[0].$option[1];
        }
    ?>;
}

.span6{
    <?php 
        $option = ot_get_option('content_width_with_two_sidebar'); 
        if(isset($option[0]) && isset($option[1])){
            echo "width:".$option[0].$option[1];
        }
    ?>;
}

.span12{
    <?php 
        $option = ot_get_option('content_width_for_full_width'); 
        if(isset($option[0]) && isset($option[1])){
            echo "width:".$option[0].$option[1];
        }
    ?>;
}

.span6,.span8,.span12{
    <?php 
        $option = ot_get_option('content_margins'); 
        if(isset($option[0]) && isset($option[1])){
            echo "margin:".$option[0].$option[1];
        }
    ?>;
    <?php 
        $option = ot_get_option('content_padding'); 
        if(isset($option[0]) && isset($option[1])){
            echo "padding:".$option[0].$option[1];
        }
    ?>;
}

body{
    <?php
        $option = ot_get_option('style');
        if(isset($option)){
            if($option=='full_width'){
                echo "width:100% !important";
            }
        }
    ?>;
}

#site-title{
    <?php
        $option = ot_get_option('site_title')
        if(isset($option)){
            if(isset($option['font-color'])){
                echo "color:".$option['font-color'].";";
            }
            if(isset($option['font-family'])){
                echo "font-family:".$option['font-family'].";";
            }
            if(isset($option['font-size'])){
                echo "font-size:".$option['font-size'].";";
            }
            if(isset($option['font-variant'])){
                echo "font-variant:".$option['font-variant'].";";
            }
            if(isset($option['font-weight'])){
                echo "font-weight:".$option['font-weight'].";";
            }
            if(isset($option['letter-spacing'])){
                echo "letter-spacing:".$option['letter-spacing'].";";
            }
            if(isset($option['line-height'])){
                echo "line-height:".$option['line-height'].";";
            }
            if(isset($option['text-decoration'])){
                echo "text-decoration:".$option['text-decoration'].";";
            }
            if(isset($option['text-transform'])){
                echo "text-transform:".$option['text-transform'].";";
            }
        }
    ?>
}
<?php
    }
header("HTTP/1.0 200 OK");
?>
4

1 に答える 1

0

コードに構文エラーがありますが、ブラウザに表示されないだけで500内部サーバーエラーが表示されます

私が変わるとき

 $option = ot_get_option('site_title')

 $option = ot_get_option('site_title');

それは完璧に動作します

于 2012-11-10T04:46:28.897 に答える