wordpressにパンくずリストを追加する

 wordpress  コメントは受け付けていません。
4月 182014
 
LINEで送る

wordpressにパンくずリストを追加してみました。
利用するのはInstant Breadcrumbsというプラグインです。

インストール後の設定は、「外観」「Breadcrumbs」にあります。

利用しているテーマによっては、インストールするだけで表示されるようになるそうなんですが、残念ながら、自分の利用しているテーマでは表示されず。

プラグインのページを参考に、

<?php instant_breadcrumb(); ?>

のタグを投稿ページ(single.php)に追記し、表示されるようにしました。
また、パンくずとパンくずの間に何かを表示させたい場合は、

<?php instant_breadcrumb(' > '); ?>

のように引数を渡すとよいようです。

ちなみに、当サイトでは

<style>
div.ib-trail ul{ padding-left: 0px; margin: 10px 0 0; }
li.ib-crumb{ display: inline; margin-left: 5px; }
li.ib-crumb:before { content:" > "; }
li.ib-crumb:first-child:before { content:""; }
</style>
<?php instant_breadcrumb(); ?>

のような感じにしています。

エラー: Missing required field “updated”.に対応する

 wordpress  コメントは受け付けていません。
4月 182014
 
LINEで送る

googleのwebmasterツールを見ていると

hatom-entry:
エラー: Missing required field "updated".

というエラーがでていることに気が付きました。
該当ページのHTMLソースをみてみると

<span class='updated' title='2014-04-17 14:14:54'></span>

とあり、hatomのupdatedエントリはあるように見えます。

http://microformats.org/wiki/hatom
http://microformats.org/wiki/hatom-examples

を確認したり、試行錯誤した結果、

<span class='updated' title='2014-04-17 14:14:54'>2014-04-17 14:14:54</span>

のように修正すればよいことがわかりました。
で、wordpressの管理ページから上記の編集箇所を探したのですが結局分からず。(T_T)

テーマを更新してもよいんでしょうが、結構な修正を加えているので、これだけのためにまた一からやり直すのは面倒だったのでテーマの関連ファイルから該当箇所を探し、修正を行いました。
(ちなみに使っているテーマはsuffusionです)

修正ファイルは
wp/wp-content/themes/suffusion/functions/actions.php
です。この末尾にある、

/**
 * Prints an "updated" tag for Microformat support.
 *
 * @since 4.0.1
 */
function suffusion_print_post_updated_information() {
  echo "<span class='updated' title='".get_the_time('c')."'></span>";
}

/**
 * Prints an "updated" tag for Microformat support.
 *
 * @since 4.0.1
 */
function suffusion_print_post_updated_information() {
//	echo "<span class='updated' title='".get_the_time('c')."'></span>";
  $updated=get_the_date('Y-m-d H:i:s');
  echo "<span class='entry-date updated' title='".$updated."'>".$updated."</span>";
}

このようにしました。

4月 172014
 
LINEで送る

YiiのGridViewで1ページ内に表示するデータ数を変更したいなぁと探していたところ、いい方法を見つけました。

http://www.yiiframework.com/forum/index.php/topic/11498-cgridview-and-pagesize/page__view__findpost__p__74111

ただ動かすには、上記の他にconfig/main.phpに

'params'=>array(
 'defaultPageSize' => 10 //デフォルトの表示数
 ),

を追加する必要があります。
また、Viewでのセレクトボックスを表示する

'header'=>CHtml::dropDownList('pageSize',$pageSize,array(10=>10,20=>20,50=>50,100=>100),array(
 'onchange'=>"$.fn.yiiGridView.update('file-grid',{ data:{pageSize: $(this).val() }})",

の部分をコピペして利用する場合は、「file-grid」の部分がGridViewで指定しているidの値に一致している必要があります。

 Posted by at 2:14 PM  Tagged with:

Yiistrapのgiiのモデルのテンプレートを修正するには

 php  コメントは受け付けていません。
4月 172014
 
LINEで送る

Yiistrapのgiiでは、モデルを作成する際にYiiのデフォルトのテンプレートを利用するようになっています。これを変更したい場合、Yiistrapがextensions/yiistrapに入っている場合、extensions/yiistrap/gii以下にmodel/templates/default/model.phpを新規に作成するとよいです。

 Posted by at 1:44 PM  Tagged with:
4月 162014
 
LINEで送る

久しぶりに自分のブログをスマホでみて、以前に設定した内容とガラリと変わっているのでびっくりしました。
改めてwordpressの管理ページにあるwptouchの設定ページをみると、基本的な設定からテーマなんかに関する設定ができるようになっています。スマホで表示を確認しながら設定してみるのだけど、googleアドレセンスに関する設定がないし、管理画面からファイルを修正したりできないので、直接ファイルを修正することにしました。(wptouchのバージョンは3.2.2です)

トップページや検索ページ、カテゴリページなど

トップページや検索ページ、カテゴリページなどのページにgoogleアドレセンスを表示するには、
wp-content/plugins/wptouch/themes/foundation/default/index.php
を修正します。例えばフッタ上に表示したいのであれば、

</div><!-- #content -->

<?php get_footer(); ?>

の部分を

</div><!-- #content -->

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 320x50mob -->
<ins class="adsbygoogle"
     style="display:inline-block;width:320px;height:50px"
     data-ad-client="ca-pub-6687084207544782"
     data-ad-slot="6956138992"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

<?php get_footer(); ?>

のようにします。

投稿ページ

記事の投稿ページにgoogleアドレセンスを表示するには、
wp-content/plugins/wptouch/themes/bauhaus/default/single.php
を修正します。例えばフッタ上に表示したいのであれば、

<?php get_footer(); ?>

の部分を

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 320x50mob -->
<ins class="adsbygoogle"
     style="display:inline-block;width:320px;height:50px"
     data-ad-client="ca-pub-6687084207544782"
     data-ad-slot="6956138992"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

<?php get_footer(); ?>

のようにします。

ついでにjqueryについてはCDNを利用する

jqueryについては全てのページで利用するので、
wp-content/plugins/wptouch/themes/foundation/default/header.php
を修正します。このファイルの先頭に以下のコードを追記すると、jqueryとjquery-migrateについては、CDNを利用するようになります。

<?php 
add_action('wp_enqueue_scripts', 'include_cdn_jquery');

function include_cdn_jquery() {
 //ローカルのjqueryファイルを読み込まないようにする
 wp_deregister_script('jquery'); 
 // CDNを利用するファイル
 $js = array(
  'jquery' => 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js',
  'jquery_migrate' => 'http://code.jquery.com/jquery-migrate-1.2.1.min.js',
 );
 // 上で設定したファイルを読み込むようにする
 foreach( $js as $key => $value ){
  wp_register_script( $key, $value, false, null, false );
  wp_enqueue_script( $key );
 }
}
?>