さて、ここに私が現在使用しているwordpressテーマのヘッダー部分を表示するコードがあります。
<div id="site-branding" class="clearfix">
<?php
$logo = isset($options['logo'])? $options['logo']: '';
if ($logo == ""){
$hidetitle = $options['hide_title'];
if ($hidetitle == "No") {
if(!is_home() || !is_front_page()) { ?>
<div class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"><?php bloginfo('name'); ?></a></div>
<div class="site-description"><?php bloginfo('description'); ?></div>
<?php } else { ?>
<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"><?php bloginfo('name'); ?></a></h1>
<div class="site-description"><?php bloginfo('description'); ?></div>
<?php } }
} else {
echo '<div class="site-logo"><a href="'. esc_url( home_url( '/' ) ) .'">';
echo '<img title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
echo '</a></div>';
} ?>
</div><!-- end #site-branding -->
このコードの最初の部分は、ロゴの存在をチェックします。ロゴが存在しない場合、テーマ オプションで非表示にチェックされていなければ、テーマの名前と説明のみが表示されます。ホームページ/フロントページでは名前と説明のスタイルがわずかに異なり、他のページでは異なるスタイルになります.ただし、ロゴが存在する場合は、すべてのページにロゴが表示されます.
今私が達成したいのは、フロント/ホームページでロゴを (CSS で)異なるスタイルにすることですが、他のページではロゴに追加の css クラスを追加したいと考えています。
上記のコードの 2 番目の部分で、elseif ステートメントを使用しようとしましたが、目的の結果を得ることができませんでした。
適切に行う方法を教えてください。
更新: 自分の質問への回答を投稿できないため、ここに投稿しています。さて、PHP のいくつかの終了要素を削除した後にこのコードを使用したところ、魅力的に機能しました。エラーがないことを確認するために、ここにもう一度投稿します。
if(is_home() || is_front_page()) {
echo '<h1 class="site-logo"><a href="'. esc_url( home_url( '/' ) ) .'">';
echo '<img calss="mylogo1" title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
echo '</a></h1>';
} else {
echo '<div class="site-logo"><a href="'. esc_url( home_url( '/' ) ) .'">';
echo '<img calss="mylogo2" title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
echo '</a></div>';
} ?>