before-main.phpの画像挿入の記述について

  • このトピックには4件の返信、1人の参加者があり、最後ににより2年、 9ヶ月前に更新されました。
4件の返信スレッドを表示中
  • 投稿者
    投稿
    • #41104
      吉野
      ゲスト

      こちらのサイトを参考に「before-main.php」を使いトップページに画像を挿入しました。思い通りにできたのですが、トップページにしか表示されません。これを全てのページ、もしくは個別記事ページでも表示させたいのですがどうすれば良いでしょうか。よろしくお願い致します。

    • #41113
      Hidekichi
      ゲスト

      <?php if(is_home()): ?>

      これはホームの時だけという条件での設定です。なのでbefore-main.phpに<div>から始まるhtmlタグだけを書けばどのページでもdivで入れた画像は出ると思います。

    • #41117
      吉野
      ゲスト

      hidekichiさん
      おかげさまで解決できました。ありがとうございました。

      もう一つ聞きたいことがあるのですが、以前Hidekichiさんに解決していただいたこちらの質問ですが、カスタムフィールドで任意のリンクを付ける事は出来たのですが、カスタムフィールドを設定しないとアイキャッチのリンクが全て個別記事ではなくトップページになります。

      全ての記事でカスタムフィールドを設定すればいい話なのですが、できれば設定した場合は任意のリンクへ、設定しない場合は個別記事へというような事は可能でしょうか。

    • #41122
      Hidekichi
      ゲスト

      参考: get_post_meta | codex

      ここにちょっとした例がありますが、

      <?php 
      $key_1_value = get_post_meta( get_the_ID(), 'key_1', true );
      // カスタムフィールドが値を持つかチェック
      if ( ! empty( $key_1_value ) ) {
        echo $key_1_value;
      } 
      ?>

      こういうことかと思います。つまり、$key_1_value(これは何でも良い)と言う変数を作って、get_post_meta( get_the_ID(), ‘key_1’, true );で取得した値を変数に入れています。

      if ( ! empty( $key_1_value ) ) {
      は、その変数が取得できなかった場合など、中身が「カラ(empty)の場合は」の否定(!)なので、「カラでない場合は」となり、

      echo #key_1_value
      つまり変数の中身を出力しますと言うことです。ここから、

      <?php
      $test = get_post_meta( get_the_ID(), 'key_1', true ); //ここは以前のget_post_meta
      if (!empty($test)) {
        $link = $test;
      } else {
        $link = 任意のアドレス;
      }
      ?>
      
      <a href="<?php echo $link; ?>" class=...前と同じ...>

      というようなことをすれば中身がカラ、つまりカスタムフィードが設定されてなくて何も返ってこなかった場合はelse以降のアドレスがaタグのhrefにセットされるという具合です。

      個別記事というのは、元々、
      <?php the_permalink(); ?>
      で拾っていたと思うので、

      $test = get_post_meta( get_the_ID(), 'key_1', true ); //ここは以前のget_post_meta
      if (!empty($test)) {
        $link = $test;
      } else {
        $link = get_permalink();
      }
      
      <a href="<?php echo $link; ?>" class=...前と同じ...>

      こんな感じでしょうか。the_permalink()は出力してしまうと思うんですよ、なのでまずget_permalink()で値だけを取得しておいて、$testと同じくして後々にechoさせるという感じかと思います。いつものことながら、試してませんけれども(笑)

    • #41136
      吉野
      ゲスト

      Hidekichiさん
      ご回答ありがとうございます。今の私の知識ではうまく理解できませんでした。もう少し基本的な勉強をしてからご回答を参考にもう一度挑戦してみたいと思います。お手数お掛け致しました。ありがとうございました。

4件の返信スレッドを表示中
  • フォーラム「テーマファイルのカスタマイズに関する質問など」には新規投稿および返信を追加できません。
スポンサーリンク
アドセンス(大)
アドセンス(大)