WordPressを5.9とテーマをTwenty Twenty-Twoに変更

WordPressを5.9とテーマをTwenty Twenty-Twoに変更

2月3日22年更新

1/26にWordPressが5.9に、それに伴い新しいテーマのWordPressを5.9とテーマをTwenty Twenty-Twoが使える様になったのでさっそく変更をした。

今まで使っていたoneではサイトの配置に制限があったのがかなり自由になって前はphpやCSSを書いていたのがエディター上から簡単に変更できるようになった。
ただ今までphpに書いてたのがheaderなどどこに書けばいいのかがいまいちよくわからなかったりしたので仕方なく代わりに新たなプラグインをインストールもした。
前と全く同じではないけど見た感じは大分近づけたかな。
今後も少しずつ更新していくつもり。

Twenty Twenty-Oneはこちら

functions.phpの変更

固定ページに抜粋(ディスクリプション)を追加
タイトルのセパレータを|に変更
twitterカードを設置
パスワードをかけたページの設定

// ここから変更を追加

/** added description  */
add_post_type_support( 'page', 'excerpt' );

// タイトルのセパレータを変更
function change_separator() {
  return "|"; // ここに変更したい区切り文字を書く
}
add_filter('document_title_separator', 'change_separator');

	/*********************
	OGPタグ/Twitterカード設定を出力
	*********************/
	function my_meta_ogp() {
	  if( is_front_page() || is_home() || is_singular() ){
		global $post;
		$ogp_title = '';
		$ogp_descr = '';
		$ogp_url = '';
		$ogp_img = '';
		$insert = '';

		if( is_singular() ) { //記事&固定ページ
		   setup_postdata($post);
		   $ogp_title = $post->post_title;
		   $ogp_descr = mb_substr(get_the_excerpt(), 0, 100);
		   $ogp_url = get_permalink();
		   wp_reset_postdata();
		} elseif ( is_front_page() || is_home() ) { //トップページ
		   $ogp_title = get_bloginfo('name');
		   $ogp_descr = get_bloginfo('description');
		   $ogp_url = home_url();
		}

		//og:type
		$ogp_type = ( is_front_page() || is_home() ) ? 'website' : 'article';

		//og:image
		if ( is_singular() && has_post_thumbnail() ) {
		   $ps_thumb = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full');
		   $ogp_img = $ps_thumb[0];
		} else {
		 $ogp_img = 'https://hiroshitsuchiya.com/wp-content/uploads/2019/02/Y1ap7bPVRZ2DfKsWgg6Ew_thumb_53de.jpg';
		}

		//出力するOGPタグをまとめる
		$insert .= '<meta property="og:title" content="'.esc_attr($ogp_title).'" />' . "\n";
		$insert .= '<meta property="og:description" content="'.esc_attr($ogp_descr).'" />' . "\n";
		$insert .= '<meta property="og:type" content="'.$ogp_type.'" />' . "\n";
		$insert .= '<meta property="og:url" content="'.esc_url($ogp_url).'" />' . "\n";
		$insert .= '<meta property="og:image" content="'.esc_url($ogp_img).'" />' . "\n";
		$insert .= '<meta property="og:site_name" content="'.esc_attr(get_bloginfo('name')).'" />' . "\n";
		$insert .= '<meta name="twitter:card" content="summary_large_image" />' . "\n";
		$insert .= '<meta name="twitter:site" content="@hiroshitsuch" />' . "\n";
		$insert .= '<meta property="og:locale" content="ja_JP" />' . "\n";

		//facebookのapp_id(設定する場合)
		$insert .= '<meta property="fb:app_id" content="397597987468612">' . "\n";
		//app_idを設定しない場合ここまで消す

		echo $insert;
	  }
	} //END my_meta_ogp

	add_action('wp_head','my_meta_ogp');//headにOGPを出力

/* 保護中: を非表示*/
add_filter('protected_title_format', 'remove_protected');
  function remove_protected($title) {
    return '%s';
}

/* 保護中:の記事を一覧から非表示*/
function custom_pre_get_posts($query) {
  if(is_singular() || is_admin()) {
    return;
  }
  $query->set('has_password', false);
}
add_action('pre_get_posts', 'custom_pre_get_posts');

/* パスワードの保存期間を1日*/
function custom_postpass_time() {
  require_once ABSPATH . 'wp-includes/class-phpass.php';
  $hasher = new PasswordHash( 8, true );
  setcookie( 'wp-postpass_' . COOKIEHASH, $hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), time() + DAY_IN_SECONDS, COOKIEPATH );
  wp_safe_redirect( wp_get_referer() );
  exit();
}
add_action( 'login_form_postpass', 'custom_postpass_time' );

更新日を追加

oneではphpを修正したが今回はよくわからなかったのでプラグインを追加した。

WP Last Modified Info

WP Last Modified Info

descriptionの追加

検索結果のスニペット(サイトの説明文)にカテゴリーやタブの説明を表示させる

プラグインのAll in One SEOをインストール

プラグインのAll in One SEOをインストール

Google Analytics

プラグインのSite Kit by Googleをインストール

プラグインのSite Kit by Googleをインストール

FaceBook Messengerアプリ

プラグインFacebook Chat Pluginをインストール

Facebook Chat Plugin - Live Chat Plugin for WordPress

記事の前後に同じカテゴリーを表示させる

これはわからず。
誰かやり方わかる方いたらぜひ教えて。

Twenty Twenty-Oneはこちら