function.phpの記述
<?php /*-------------------------------------------------------------------------------------------------- 初期設定 ページ引用 ページネーション 検索 --------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------- 初期設定 --------------------------------------------------------------------------------------------------*/ //不要なヘッダーの記述を削除 remove_action('wp_head','wp_generator'); //使用しているWordPressのバージョンの表示を削除 remove_action('wp_head', 'adjacent_posts_rel_link_wp_head'); //ページ間の関係を示すrel=”prev”とrel=”next”の表示を削除 remove_action('wp_head', 'rsd_link'); //ブログ編集ツールから記事を投稿するための記述を削除 remove_action('wp_head', 'wlwmanifest_link'); //ブログ編集ツールから記事を投稿するための記述を削除 //アップデートの数値を消す add_action('admin_menu', 'remove_counts'); function remove_counts(){ global $menu,$submenu; $menu[65][0] = 'プラグイン'; $submenu['index.php'][10][0] = 'Updates'; } add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) ); //アップグレード勧告を非表示 remove_action( 'wp_version_check', 'wp_version_check' ); // 本体のアップデート通知を非表示 remove_action( 'admin_init', '_maybe_update_core' ); // 本体のアップデート通知を非表示 //ログイン画面 function login_css() { echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo("stylesheet_directory").'/login.css">'; } add_action('login_head', 'login_css'); function custom_login_logo_url() { return get_bloginfo( 'url' ); } add_filter( 'login_headerurl', 'custom_login_logo_url' ); //投稿タイトルに英数以外が入っていたら投稿IDに置き換える function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) { if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) { $slug = utf8_uri_encode( $post_type ) . '-' . $post_ID; } return $slug; } add_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4 ); // ビジュアルエディタ用CSS add_editor_style('editor-style.css'); function custom_editor_settings( $initArray ) { $initArray['body_class'] = 'editor-area'; $initArray['theme_advanced_blockformats'] = 'p,h3,h4,h5,h6'; return $initArray; } add_filter( 'tiny_mce_before_init', 'custom_editor_settings' ); //添付ファイルのページの選択肢を消去 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 ); echo $scripts;}add_action( 'print_media_templates', 'media_script_buffer_get' ); //絵文字削除 remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles', 10 ); //ブルートフォース攻撃対策(idの解析対策) add_action('init', 'disable_author_archive'); function disable_author_archive() { if( $_GET['author'] || preg_match('#^/author/.+#', $_SERVER['REQUEST_URI']) ){ wp_redirect( home_url() ); exit; } } //------------------------------------------------- /*-------------------------------------------------------------------------------------------------- ページ引用 --------------------------------------------------------------------------------------------------*/ function include_post_func($atts) { extract(shortcode_atts(array( 'id' => '', ), $atts)); $post_id = get_post ( $id ); $content = $post_id->post_content; return $content; } add_shortcode('include-post', 'include_post_func'); /*-------------------------------------------------------------------------------------------------- ページネーション --------------------------------------------------------------------------------------------------*/ function pagination($pages = '', $range = 2){ $showitems = ($range * 2)+1; global $paged; if(empty($paged)) $paged = 1; if($pages == ''){ global $wp_query; $pages = $wp_query->max_num_pages; if(!$pages){ $pages = 1; } } if(1 != $pages){ echo "<div class=\"pager_wrap\"><ul class=\"pager\">"; if($paged > 1 && $showitems < $pages) echo "<li><a href='".get_pagenum_link($paged - 1)."'>« 前へ</a>"; for ($i=1; $i <= $pages; $i++){ if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){ echo ($paged == $i)? "<li class=\"active\">".$i."</li>":"<li><a href='".get_pagenum_link($i)."'>".$i."</a></li>"; } } if ($paged < $pages && $showitems < $pages) echo "<li><a href=\"".get_pagenum_link($paged + 1)."\">次へ »</a></li>"; echo "</ul></div>\n"; } } /*-------------------------------------------------------------------------------------------------- 検索 --------------------------------------------------------------------------------------------------*/ function empty_search_redirect( $wp_query ) { if ( $wp_query->is_main_query() && $wp_query->is_search && ! $wp_query->is_admin ) { $s = $wp_query->get( 's' ); $s = trim( $s ); if ( empty( $s ) ) { wp_safe_redirect( home_url('/') ); exit; } } } add_action( 'parse_query', 'empty_search_redirect' ); ?>
Googleにインデックスさせない!
WordPressのテストページに「インデックスさせない」設定を怠っていたため、
テストページめちゃめちゃ公開される事件が発生しました。
以後、このような事態を防ぐため、テストページには以下の設定を施します。
WordPress側で設定
設定 → 表示設定 → 「検索エンジンがサイトをインデックスしないようにする」にチェック
多分これで大丈夫なんですが、念の為に以下も設定します
robots.txtを作成
存在は知っていましたが、特に触れずにきたrobots.txt
これに以下を記述します。
User-agent: * Disallow: /
User-Agent:クローラーの種類を指定するらしいです。(例: Google Chrome)今回は全てを指定するので * としました。
Disallow:クロールを拒否するディレクトリを指定するらしいです。/hoge/とか/hoge/index.htmlとか。今回は全てを拒否したいので / としました。
これをドキュメントルート(/publicなど)に設置すれば、完了です。
さらに
当事件がトラウマになりそうな(なった)ので、さらにインデックスされないようにします。
正直しなくて全く構いません。
metaタグを設定
ヘッダーに
<meta name="robots" content="noindex,nofollow">
これで一安心
やっとわかった@mixin
使いどころがイマイチ分からなかったけど、リファクタリングしていて今更やっと理解できた。
@mixin
@mixin btn-color($color_a,$color_b) { background-color:$color_a; color: $color_b; &:hover { color:$color_a; border:solid 2px $color_b; } }
@include
.btn-red { @include btn-color(#F00,#FFF); }
吐き出されるcss
.btn-red { background-color: #F00; color: #FFF; } .btn-red:hover { color: #F00; border: solid 2px #FFF; }
PCとiPadのレイアウトを同じにする
なぜ?
スマホとPCだけで手一杯。
タブレットのレイアウトなんか作ってらんない!
やり方
タブレットで見たときにviewportを削除すればよいだけの話。
JavaScript
viewportを記述しているところに以下を置換
<script type="text/javascript"> if ((navigator.userAgent.indexOf('iPhone') > 0) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { document.write('<meta name="viewport" content="width=device-width">'); }else{ document.write(''); } </script>
userAgentでユーザーがどんな媒体でアクセスしているか取得できるらしいです。
以上
【WordPress】サイトマップをGoogle Search Consoleに登録してインデックスしてもらう
Google XML Sitemaps
ここからダウンロード
Google XML Sitemapsをセットアップ
基本的にそんないじらなくてよいような気がします。
上記2つは設定した方が良いと思う。
Change Frequenciesは見てほしいページほど期間を短く。
Google Search Console
登録
ここ
ログインして、[プロパティを追加]
URLを入れる
その後、以下の画面に遷移するので、[別の方法]の[HTMLタグ]を選択。
表示されたタグを</head>
直前に記述する。
サイトマップの追加
[サイトマップの追加/テスト]ボタンをクリック 設定→XML Sitemap で上の方にある”sitemap.xml”をコピーして貼り付け。 以上。
Google XML Sitemapsのver4.0.0以上はsitemap.xml
じゃなくて
/index.php?xml_sitemap=params=
じゃないとダメ説ありますが、
ちょっと時間おいて確認してみます。
~追記 (2018/07/13)~
ちゃんとインデックスしてくれてます。
【WordPress】記事に連番を付ける
降順
ループ外の上の方に
<?php $post_counter = 1; ?>
ループ内の出力したい場所に
<?php print "$post_counter"; ?>
ループ内の下の方に
<?php $post_counter++; ?>
または
function.phpに
<?php function Counter(){ global $wp_query; return $wp_query->current_post+1; } ?>
出力したい場所に
<?php echo Counter(); ?>
ポイントとピクセルの変換
デザイナーさんに「この文字もう2ポイント上げてください」と言われて困惑したので。
実際に変換してみる
~中略~
1pt = 1.33px らしいです。