別の質問 では、CSSを変更するためのテーマオプションの使用について話していました。これは別ですが関連した質問です。
ユーザーが私のテーマにリンクの色を設定するとき、私は彼らの選択を含める方法は次のとおりです。
<?php $options = get_option('mytheme_theme_options'); _e( 'a, a:link {color: #' ); echo $options['linkcolour']; _e( ';}' ); ?>
そのため、ユーザーがテーマオプションページで#333333のリンク色を指定した場合、上記の私のコードはNice clean bit of CSSを出力します。
a, a:link {color: #333333;}
すばらしいです。
しかし、don'tにリンクカラー値を指定した場合、次のようになります。
a, a:link {color: #;}
...これは醜く冗長です - 何もしません。
私はPHP人ではないので、これを修正する最善の方法は実際にはわかりませんが、if-elseステートメントで修正できると想像します。ユーザーが値を設定したときに出力を取得します。その通りですか?もしそうなら、私はどんなコードを使うべきですか?
ありがとう。
翻訳対象のテキストに_e()
を使用する必要はありません。CSSを翻訳するのではなく、1つの言語だけで提供されます。
あなたのif/else'ingに関しては、これを試してください..
<?php
$options = get_option('mytheme_theme_options');
if( isset( $options['linkcolour'] ) && ( !empty( $options['linkcolour'] ) ) )
printf( "a, a:link {color: #%s;}", $options['linkcolour'] );
?>
これが、上で使用されたPHPを理解するのを助けるためのPHP参照です。
http://www.php.net/manual/en/control-structures.if.php
http://php.net/manual/en/function.isset.php
http://www.php.net/manual/en/function.empty.php
http://php.net/manual/en/function.printf.php
それが役立つことを願っています。