0

だから私はこのワードプレスのテーマを作成していて、PHP関連の問題に遭遇しました(私は思う)。

メインテーマの色を決定できるユーザー用のオプションパネルを作成しました。テストのために、値 #008A00 をそこに入れました。

これで、CSS が PHP ファイルに含まれるようになったので、変数を使用できます。ファイル内の値のみを使用する限り、うまく機能します。

したがって、次のコードが機能します。

<?php

header('Content-type:text/css');
$color = '#008A00';
?>

#logo .rect {
display:inline-block;
height:45px;
width:15px;
background: <?php echo $color ?>;
margin: 0px 5px 0px 0px;
}

次のようにユーザーが設定した値を呼び出そうとすると、問題が発生します。

<?php

header('Content-type:text/css');
$color = get_option('shoboto_maincolor');
?>

このように配置すると ($color = print get_option('shoboto_maincolor'); と $color = echo get_option('shoboto_maincolor'); も試しました)、色が消えるだけでなく、他のすべてのスタイリングも消えます。変数に依存しない場合。

私の最初の考えは、オプションや他の場所で間違いを犯したので、コードを入れたことをテストすることでした:

<?php print get_option('shoboto_maincolor'); ?>

footer.php で、値 #008A00 を問題なく表示しました。

cssstyle.php が、関数がユーザーから値を取得する shoboto-options.php と同じフォルダーではなく、フォルダー内に配置されていることが問題でしょうか? それとも私は何か他のことを間違っていますか?お知らせ下さい。

4

1 に答える 1

0

$color 変数に入っているものをチェックして、期待どおりであることを確認することから始めます。

例えば

<?php
header('Content-type:text/css');
$color = get_option('shoboto_maincolor');

if (!$color==='#008A00')
{
  // DO SOMETHING - Color is NOT what was expected
}
?>

コードを実行し、その特定の色を選択します。正しい変数の内容ではないことがわかると思います。Wordpress に詳しくないので、IF ステートメント内の悪い情報に対処する方法がわかりません。

于 2013-09-20T11:13:30.607 に答える