関数とプロフィールのカスタマイズ編となります。
目次
SANGOの関数でのカスタマイズ
関数のカスタマイズが一番面倒な部分となりますが、子テーマで対応できる範囲となっています。
サイトの言語を取得する関数追加
functions.phpに追加します。
日本語と英語だけなので簡単な関数にしています。
/*********************
ロケールの先頭2文字を返す関数
*********************/
function blog_short_lang() {
return substr(get_locale(), 0, 2);
}
function_exists()でオーバーライド可能な関数
これは、子テーマで簡単にオーバーライド可能な関数なので、同じ関数名で子テーマのfunctions.phpに記述できます。
親テーマから対象となる関数を子テーマのfunctions.phpにコピーします。
親テーマ:/wp-content/themes/sango-theme/library/functions/entry-function.php
以下が対象となる関数です。子テーマのfunctions.phpにコピー後、
if( ! fucntion_exists(...) ) {
と}
を消します。けして親テーマを修正しないように注意してください。
/*********************
フォローボックス(この記事が気に入ったらいいね)
*********************/
if( ! function_exists( 'insert_like_box' ) ) { <--消す
function insert_like_box(){
〜〜 省略 〜〜
}//end function
} <--消す
/*********************
この記事を書いた人
*********************/
if( ! function_exists( 'insert_author_info' ) ) { <--消す
function insert_author_info() {
〜〜 省略 〜〜
<?php endif; }
} <--消す
/*************************
コメントレイアウト(comments.phpで呼び出し)
**************************/
if( ! function_exists( 'sng_comments' ) ) { <--消す
function sng_comments( $comment, $args, $depth ) {
〜〜 省略 〜〜
} //END sng comments
} <--消す
/*********************
シェアボタン
*********************/
if( ! function_exists( 'insert_social_buttons' ) ) { <--消す
function insert_social_buttons($type=null) {
〜〜 省略 〜〜
}
} <--消す
「フォローボックス(この記事が気に入ったらいいね)」のカスタマイズ
insert_like_box()の修正部分です。
<div class="like_content"><P><?php _e('この記事が気に入ったらフォローしよう','sango');?></P>
if($user_tw) : //twitter ?>
<div><a href="https://twitter.com/<?php echo $user_tw;?>" class="twitter-follow-button" data-show-count="<?php echo $follower;?>" data-lang="<?php echo blog_short_lang();?>" data-show-screen-name="false" rel="nofollow"><?php _e('フォローする','sango');?></a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script></div>
「この記事を書いた人」のカスタマイズ
insert_author_info()の修正部分です。
<span><?php _e('この記事を書いた人','sango');?></span>
「コメントレイアウト」のカスタマイズ
<time datetime="<?php echo comment_time('Y-m-j'); ?>"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>" rel="nofollow"><?php if ( blog_short_lang() === 'ja') { comment_time('Y年n月j日'); } else { comment_time('Y/n/j'); }?> </a></time>
<p><?php echo __('あなたのコメントは現在承認待ちです。','sango'); ?></p>
「シェアボタン」のカスタマイズ
insert_social_buttons($type=null)の修正部分です。
<span class="share_txt"><?php _e('ツイート','sango');?></span>
<span class="share_txt"><?php _e('シェア','sango');?></span>
以下は、追加のカスタマイズとなります。「はてな」は日本だけのサービスですので、英語では表示しないようにします。
<!-- はてなブックマーク -->
の後ろに、以下のように追加します。
<!-- はてなブックマーク -->
<?php if (blog_short_lang() === 'ja') : ?>
<!-- Google+ 別デザインのときは非表示に-->
の前に、以下のように追加します。
<?php endif; ?>
<!-- Google+ 別デザインのときは非表示に-->
「ショートコード(他サイトへのリンク)」と「日付アーカイブ」のカスタマイズ
他サイトへのリンクショートコードは、「参考」と表示されるため、英語では「Refer」と表示されるようにします。
また、日付アーカイブのタイトルに日本語が入るので変更します。
「ショートコード(他サイトへのリンク)」をコピーしてきて修正
/wp-content/themes/sango-theme/library/functions/style-shortcode.php
900行あたりの以下の関数をコピーしてください。
/*********************
他サイトへのリンクカード
*********************/
function sng_othersite_link($atts) {
〜〜 省略 〜〜
<div class="tbcell">参考</div>
〜〜 省略 〜〜
} //END sng_othersite_link
以下のように関数名変更と「参考」を翻訳対象に修正して、子テーマのfunctions.phpに追加します。
/*********************
他サイトへのリンクカード
*********************/
function my_sng_othersite_link($atts) {
〜〜 省略 〜〜
<div class="tbcell"><?php _e(‘参考’,’sango’);?></div>
〜〜 省略 〜〜
} //END sng_othersite_link
アーカイブページのタイトル変更関数追加
以下の関数を子テーマのfunctions.phpに追加します。
/*********************
カテゴリーページの表示タイトルを変更する自前関数
*********************/
function my_get_the_archive_title($title) {
if ( is_date() ) {//日付
if ( blog_short_lang() !== 'ja') {
$title = get_query_var( 'year' );
if( is_day() ){
$title .= '/'.get_query_var( 'monthnum' );
$title .= '/'.get_query_var( 'day' );
} elseif( is_month() ) {
$title .= '/'.get_query_var( 'monthnum' );
}
}
} elseif ( is_post_type_archive() ) {
$title = post_type_archive_title( '', false ); // アーカイブの文字を消す
}
return $title;
}
親テーマのfunctions関連が読み込まれた後で実行する関数追加
以下の関数を子テーマのfunctions.phpに追加します。
// *********************************************************************
// ここから、親テーマのfunctions以降に実行させる関数
// functions()は、子テーマ->親テーマの順番となるため、親テーマの後で書き換える
//
add_action( 'after_setup_theme', function () {
add_filter( 'get_the_archive_title', 'my_get_the_archive_title');
add_shortcode('sanko','my_sng_othersite_link');
}, 20 );
// ここまで、親テーマのfunctions以降に実行させる関数
// *********************************************************************
プロフィールの多言語化カスタマイズ
プロフィールは多言語されませんので、以下のような姑息な手段で対応しています。
肩書き、プロフィール詳細については、「日本語記述;英語記述」のフォーマットで記述することとし、現在表示している言語を判別して前後の表示を切り替えています。
プログを複数人で運用している場合でも対応できます。
日本語と英語を両方表示しても良いのであれば、このカスタマイズは必要ありません。
「この記事を書いた人」の追加カスタマイズ内容
insert_author_info()内の以下の部分を、
<dd><?php esc_attr(the_author_meta('yourtitle')); ?></dd>
</dl>
</div>
<div class="tb-right">
<p><?php the_author_meta('user_description'); //プロフィール文 ?></p>
以下のように修正します。
<dd><?php $lang = blog_short_lang();
$tstring = explode(";", get_the_author_meta('yourtitle'));
if ($lang !== 'ja' && count($tstring) > 1) {
echo esc_attr($tstring[1]);
} else {
echo esc_attr($tstring[0]);
}
//esc_attr(the_author_meta('yourtitle')); ?></dd>
</dl>
</div>
<div class="tb-right">
<p><?php $dstring = explode(";", get_the_author_meta('user_description'));
if ($lang !== 'ja' && count($dstring) > 1){
echo $dstring[1];
} else {
echo $dstring[0];
}
//the_author_meta('user_description'); //プロフィール文 ?></p>
以上、関数とプロフィールのカスタマイズ編でした。
これで、翻訳ファイルを作成する準備が整いました。
Monappy: MBDQ39VHypMQwfyR8SshuHvfPNUz321F6B

モナゲ(tipmona)ってなに?
そもそもMonacoinってなに?
[…] […]