コピーライト表示を変更したい

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

      寝ログ「©著作権表示をスッキリと正しく書く方法。」を読ませて頂きました。

      そこで、Simplicityのブログ画面最下部のデフォルトのコピーライト表示から「©ブログタイトル」に変更したいのですが、どうしたらよいでしょうか。

      「外観」→「カスタマイズ」→「その他」→「ライセンス」欄に「©ブログタイトル」があればよいのですが。

    • #30036 返信
      Hidekichi
      ゲスト

      footer.phpに div id=”copyright”の部分があるので、そこらをごにょごにょすると変更できます。

      <?php echo get_site_license(); //サイトのライセンス表記の取得 ?>

      ここの所でライセンスを拾ってると思うので、コメントアウトして自身で必要な項目を書けばよいかと思います。

      <?php //echo get_site_license(); //サイトのライセンス表記の取得 ?>	
      &copy; 2015 <?php bloginfo('name'); //寝ログから引用 ?>

      こんな感じですかね。
      2015の部分は、毎年変更するのは面倒なので、自動で今年の西暦を入れるとすれば例えば、

      <?php
        $startYear = ""; // 2015以前にブログが公開されていた場合にその西暦を入れる
        $thisYear = date("Y"); //西暦を4桁で取得
        if (!empty($startYear)) {
          $years = $startYear . " - " . $thisYear;
        } else {
          $years = $thisYear;
        }
        $siteName = bloginfo('name');
      ?>
      &copy; <?php echo $years . " " . $siteName; ?>

      こうすると、仮に$startYearを2013にしたとしたら、「C 2013 – 2015 サイトの名前」みたいに表示されるんじゃないかなぁと思います。
      例えば、echo $years . ” ” . $siteName;のクォートの部分をecho $years . ” | ” . $siteName;とすると、
      「C 2013 – 2015 | サイトの名前」のようになります。$startYearを変更しない場合は、elseの部分が実行されて、「C 2015 サイトの名前」となるかと思います。

      ifの部分でemptyを使ってますが、issetにして、$startYearを書かなければ、変数がセットされていないので、elseの後が実行されるかな?とも思います。思いますってのは試してないからなんですけどね(笑)
      ここらは色々と試してみてください。

    • #30041 返信
      ヤトラ
      ゲスト

      Hidekichiさん、コメントをありがとうございます。

      footer.phpを見てみました。
      「C 2013 – 2015 サイトの名前」にしたいので、参考にさせて頂きます。

      hidekichiさんが書いてくださった<?php以下を、子テーマのfooter-insert.phpに書き込めばいいのですよね?

    • #30042 返信
      Hidekichi
      ゲスト

      >子テーマのfooter-insert.phpに書き込めばいいのですよね?

      いえ、それだけではダメです。親テーマのfooter.phpにコピーライトの部分が入っているので、そこをコメントアウトしておかないと該当部が重複して表示されると思います。

      消すとすれば、親テーマfooter.phpの

      <?php echo get_site_license(); //サイトのライセンス表記の取得 ?>
      
      // ↓のようにする
      
      <?php //echo get_site_license(); //サイトのライセンス表記の取得 ?>
      
      // ↓でも良い
      <?php /*echo get_site_license(); //サイトのライセンス表記の取得*/ ?>

      テキストエディター等で、「id=”copyright”」を検索すれば場所はすぐにわかると思います。

      子テーマfooter-insert.phpに記入した場合、閉じbodyタグの手前に入るので場所的には問題はありませんが、元から表示されているコピーライトの部分はそれよりも手前に入っているので、親テーマのアップデートごとに該当部をコメントアウトする必要があると覚えておいてください。

      また、先ほどレスした内容は、クォート等がcode化されているので、もうしばらくしたらわいひらさんが修正してくれると思います(管理権限がないとスクリプトはコード化されてしまう)。それをコピペした方が良いかと思います。

    • #30044 返信
      わいひら
      キーマスター

      hidekichiさんのエスケープされていたコードを修正しておきました。
      コピーライトの変更方法については、hidekichiさんの書かれている通りにすればOKだと思います。

    • #30048 返信
      Hidekichi
      ゲスト
      function footerCopyright() {
      	global $wpdb;
      	$copyright_dates = $wpdb->get_results("
      		SELECT
      		YEAR(min(post_date_gmt)) AS firstdate,
      		YEAR(max(post_date_gmt)) AS lastdate
      		FROM
      		$wpdb->posts
      		WHERE
      		post_status = 'publish'
      	");
      
      	$output = '';
      	if($copyright_dates) {
      		$copyright = "&copy; " . $copyright_dates[0]->firstdate;
      
      		if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
      			$copyright .= '-' . $copyright_dates[0]->lastdate;
      		}
      
      		$output = $copyright;
      	}
      	return $output;
      }

      これを子テーマfunctions.phpに入れておいて、footer.phpの該当部で、

      <?php footerCopyright() . " " . bloginfo('name'); ?>

      で、自動で最初の公開している記事の日付から西暦を抜き出して、現在の西暦までを引っ張りだしてくれます。ただ、まぁここまでしなくても最初のレスのスクリプトでいいかなぁと思ったりも。最初の記事っていつ書いたっけ?というぐらいボリュームのあるサイトであれば有効かなぁと思います。

    • #30055 返信
      ヤトラ
      ゲスト

      分かりやすい解説とコードをありがとうございます。

      これで私にもできそうです。けれども親テーマのコメントアウトし該当部分を、アップデートごとコメントアウトしなおす必要をそのうち忘れてしまって、コピーライトが二重表示されることになりそうな気がします。少々心配です。

      ともあれ、ありがとうございます。

    • #30058 返信
      Hidekichi
      ゲスト

      Simplicityのcopyright部分の関数を調べてないのですが、 子テーマfunctions.phpでの同名関数について にあるように、親テーマがオーバーライド(上書き)できるような構造であれば、子テーマfunctions.phpに、同名関数を作って、その中で今回の処理をしてreturnで返せば、親テーマをイジることなく子テーマfunctions.phpだけでイケる場合もあります。

    • #30074 返信
      Hidekichi
      ゲスト

      先ほど試してみましたが、該当部で読み込まれているget_site_license()は/lib/customizer.phpの中にあって、どうやらそのままではオーバーライドできないようです。一応報告まで。

    • #30076 返信
      Hidekichi
      ゲスト

      今気がついたのですが、$siteName = bloginfo(‘name’);だと、表示がオカシイことになるかも知れません。

      $siteName = bloginfo('name');
      
      // 表示がおかしくなった場合↓のようにする
      
      $siteName = get_bloginfo('name');

      bloginfo(‘name’)はそれだけでサイト名を出力したように思うんですが、うまく行っているようであればそのままで、もし表示順序がオカシイと思われた場合は、上記のように修正して、サイトタイトルを値として取得するようにしたら問題なく出力できるのではないかと思います。

9件の返信スレッドを表示中
返信先: コピーライト表示を変更したい
あなたの情報:




スポンサーリンク
アドセンス(大)
アドセンス(大)