%e3%80%90wordpress%e3%80%91%e3%82%88%e3%81%8f%e4%bd%bf%e3%81%86functions-php%e3%81%ae%e8%a8%ad%e5%ae%9a02

【wordpress】よく使うfunctions.phpの設定02

よく使うfunctions.phpの設定について。
サイトの状況に応じて、使い分けしているコードです。

メディア挿入時のリンク先を削除する

function media_script_buffer_start() {
    ob_start();
}
add_action( 'post-upload-ui', 'media_script_buffer_start' );
  
function media_script_buffer_get() {
    $scripts = ob_get_clean();
    $scripts = preg_replace( '#<option value="post">.*?</option>#s', '', $scripts );
    $scripts = preg_replace( '#<option value="custom">.*?</option>#s', '', $scripts );
    $scripts = preg_replace( '#<option value="file" selected>.*?</option>#s', '', $scripts );
    echo $scripts;
}
add_action( 'print_media_templates', 'media_script_buffer_get' );

「続きを読む」をページ先頭から表示する

function remove_more_jump_link($link) {
$offset = strpos($link, '#more-');
if ($offset) {
$end = strpos($link, '"',$offset);
}
if ($end) {
$link = substr_replace($link, '', $offset, $end-$offset);
}
return $link;
}
add_filter('the_content_more_link', 'remove_more_jump_link');

ダッシュボードへのメモ書き

function dashboard_widget_function() {
echo "ここにメモ書きの内容をかく。htmlのタグも使用可能";
}
function add_dashboard_widgets() {
wp_add_dashboard_widget('dashboard_widget', 'メモ', 'dashboard_widget_function');
}
add_action('wp_dashboard_setup', 'add_dashboard_widgets' );

googleのトラッキングコード挿入(wp-header内に挿入)

アナリティクスもウェブマスターツールも同じ挿入方法でOK。
2つ同時に設定する時は下記コードの「wp_google_analytics」を変更してください。

function wp_google_analytics(){ ?>
     <script type="text/javascript">

ここにトラッキングコード

</script>
<?php }
add_action('wp_head', 'wp_google_analytics');

スタイルシート挿入(wp-header内に挿入)

初めてwordpressを使った時に複数のcssの挿入方法が分からず困ったので、下記コードは2つのcssの挿入コードを書いています。
よく見ると難しいコードではないんですが、ノンプログラマーの私には最初分からず大いに困った覚えがあります。

function register_style() {
	wp_register_style('style', get_bloginfo('template_directory').'/style.css');
	wp_register_style('sample', get_bloginfo('template_directory').'/sample.css');
}
function add_stylesheet() {
	register_style();
	wp_enqueue_style('style');
	wp_enqueue_style('sample');
}
add_action('wp_print_styles', 'add_stylesheet');

javascript挿入(wp-header内に挿入)

たまたまコピペしたコードがbxsliderの挿入コードだったので、そのまま掲載しています。
他のサイトの方が詳しい説明をしていると思うのですが、javascriptの適用範囲をサイトに限定するために「if (!is_admin())」の記載をしています。
管理画面(ダッシュボード)は除外という意味です。

if (!is_admin()) {
	function register_script(){
		wp_register_script('bxslidermin', get_bloginfo('template_directory').'/bxslider/jquery.bxslider.min.js');
		wp_register_script('easing', get_bloginfo('template_directory').'/bxslider/plugins/jquery.easing.1.3.js');
		wp_register_script('fitvids', get_bloginfo('template_directory').'/bxslider/plugins/jquery.fitvids.js');
	}
	function add_script() {
		register_script();
			wp_enqueue_script('bxslidermin');
			wp_enqueue_script('easing');
			wp_enqueue_script('fitvids');
	}
	add_action('wp_print_scripts', 'add_script');
}

管理画面の表示等もかなりの部分がカスタマイズ可能ですし、アップデートしても設定が上書きされないことに当初は感動しました。
ノンプログラマーでもかなりのカスタマイズができるのが、wordpressのいいところではないかと思っています。