WordPressのデフォルトテーマ、Twenty Seventeenをカスタマイズして使用する
カテゴリ: WP関連メモ
子テーマを mod-twentyseventeen として作成。
Twenty Seventeen からコピーしたファイルは
style.css
header.php
footer.php
page.php
single.php
header.php の変更
20・21行目を削除
footer.php の変更
ページ末尾の "Proudly powered by WordPress" を自サイトのコピーライトに変更。
footer.php 38行目をコメントアウト
その次の次の行に <div class="site-info">© 右側走行禁止</div> を追加。
page.php の変更
コメントフォームは使わないので、29行目から32行目をコメントアウト
single.php の変更
page.php同様、コメントフォームは使わないので、24行目から29行目をコメントアウト
style.css の変更
末尾にGoogle マップ用のCSSを追加
#map{width:100%;max-width:500px;height:500px;}
#elevation_chart{width:100%;max-width:500px;}
functions.php 新規作成
headタグ内をスッキリさせたいので、 WordPress4.8のwp_headで出力されるものを削除 でメモしたものを functions.php に追加してデフォルトのアクションフックを除去。
the_content() で出力されるものに<p>や<br />の自動挿入を止める為、
remove_filter("the_content", "wpautop");
を追加。
デフォルトテーマで wp_head に add_action されているピングバックを消したいので、
function remove_twentyseventeen_pingback_header(){
remove_action("wp_head", "twentyseventeen_pingback_header");
}
add_action("init", "remove_twentyseventeen_pingback_header");
投稿者名を削除するために、twentyseventeen_posted_on() を上書き。
function twentyseventeen_posted_on(){
echo "<span class=\"posted-on\">" . twentyseventeen_time_link() . "</span>";
}
最後に、meta・linkタグの追加
$canonical_url = null;
function add_meta_tag(){
global $page;
global $paged;
global $canonical_url;
$page_number = max($page, $paged);
$is_page_num = $page_number > 1;
$is_top_page = is_home() || is_front_page();
$is_category = is_category();
$is_singular = is_singular();
echo "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n";
$og_title = $is_top_page || $is_category ? get_bloginfo("name") : ($is_singular ? get_the_title() : null);
$og_title .= $is_category ? " – ".get_the_category()[0]->cat_name : "";
$og_title .= $og_title && $is_page_num ? " – {$page_number}ページ目" : "";
if($og_title) echo "<meta property=\"og:title\" content=\"{$og_title}\">\n";
$og_type = $is_top_page ? "blog" : ($is_singular || $is_category ? "article" : null);
if($og_type) echo "<meta property=\"og:type\" content=\"{$og_type}\">\n";
if($is_top_page) :
$canonical_url = home_url("/");
elseif($is_category) :
$canonical_url = get_category_link(get_query_var("cat"));
elseif($is_singular) :
$canonical_url = get_permalink();
endif;
if($canonical_url){
if($page > 1) $canonical_url .= "{$page}/";
if($paged > 1) $canonical_url .= "page/{$paged}/";
echo "<meta property=\"og:url\" content=\"{$canonical_url}\">\n";
}
if(has_post_thumbnail()){
$og_image = wp_get_attachment_image_src(get_post_thumbnail_id(), full);
echo <<< EOF
<meta property="og:image" content="{$og_image[0]}">
<meta property="og:image:width" content="{$og_image[1]}">
<meta property="og:image:height" content="{$og_image[2]}">
EOF;
}
$description = $is_singular ? get_the_excerpt() : null;
if($description) echo "<meta property=\"og:description\" content=\"{$description}\">\n";
echo "<meta property=\"og:site_name\" content=\"".get_bloginfo(‘name’)."\">\n";
?>
<meta property="og:locale" content="ja_JP">
<meta property="fb:app_id" content="***************">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@************">
<?php
if($description) echo "<meta name=\"description\" content=\"{$description}\">\n";
}
add_action("wp_head", "add_meta_tag", 1);
function add_link_tag(){
global $canonical_url;
if($canonical_url) echo "<link rel=\"canonical\" href=\"{$canonical_url}\">\n";
?>
<link rel="alternate" type="application/rss+xml" href="/feed/" title="RSS2.0">
<link rel="alternate" type="application/atom+xml" href="/feed/atom/" title="Atom">
<?php
}
add_action("wp_head", "add_link_tag", 1);