だんだん疲れてまいりましたwwwww
画像準備
前回ダウンロードしたメディアファイルをすべてFTPでサーバーにあげる。
アップロード先:wp-content/uploads/hatena
画像URL置換
「ツール」>「Search Regex」を開き、以下のように設定して「すべて置換」を実行します。
- 検索フラグ: 「正規表現」にチェックを入れる
- 検索する文字列:
https://cdn-ak\.f\.st-hatena\.com/images/fotolife/[^/]+/[^/]+/\d+/ - 置換後の文字列:
http://sauna.color-hiyoko.com/wp-content/uploads/hatena/
とりあえずsなしなので注意
プラグイン追加
Bulk Media Register – WordPress プラグイン | WordPress.org 日本語
これでサーバーにあげた画像ファイルを全部メディアに叩きこむ。「一括登録」でおk
アイキャッチ関連
「XO Featured Image Tools」の一括生成を実行
「Search Regex」を使って一括で消し去る。
- 検索フラグ: 「正規表現」にチェック
- 検索する文字列:
<p><img src="[^"]+" class="temp-eyecatch-dummy" /></p>\n? - 置換後の文字列: (空欄のまま)
↑とGeminiは言うが空欄のままにできず、全角スペースを入れた。
プラグイン XO Featured Image Toolsで一括設定できる。
→記事に画像が重複するとき
- WordPress管理画面の左メニューから 「Cocoon設定」 をクリック
- 上部にあるたくさんのタブの中から 「画像」 タブを選択
- 少し下にスクロールし、「アイキャッチの表示」 という項目「本文上にアイキャッチを表示する」 というチェックボックスがあるので、チェックを外す
- 画面の一番上、または一番下にある 「変更をまとめて保存」 ボタンを押す
はてなスター(没)
確かWordPressにもはてなスターつけられたよなぁって思ったのだが2015年くらいでメンテナンス停まってるっぽい。外部ブログの追加メソッド動かず。
DNSレコード設定
1. XSERVERのIPアドレスを取得 XSERVERのサーバーパネル「サーバー情報」を開き、「IPアドレス」をメモ
2. お名前.comでの既存レコード削除 提示されたお名前.comの設定画面で、~.com の「CNAME」レコードを「無効」にする。 (※CNAMEとAレコードは同じホスト名で共存できないため、必ず先に消す)
3. お名前.comでのAレコード追加 続けて、以下の内容で新しいレコードを1件追加する。
- ホスト名(サブドメイン):
~ - TYPE:
A(※CNAMEからAに変更する) - VALUE(IPアドレス): 手順1でメモしたXSERVERのIPアドレス
浸透するまで数時間待つ
SSL
XSERVERのサーバーパネル「SSL設定」から無料独自SSLを追加
ブラウザで表示確認できるまで待機
管理画面の「設定」>「一般」を開き、以下の2箇所のURLを http から https に変更して保存する。
- WordPress アドレス (URL)
- サイトアドレス (URL)
※保存後、自動的にログアウトされるため再ログインする。
「Search Regex」を開き、以下の条件で「すべて置換」を実行する。
- 検索する文字列:
http://~.com - 置換後の文字列:
https://~.com - 正規表現(Regex): チェックしない
.htaccess編集(先頭に追記)
httpでアクセスしてもhttpsにリダイレクト
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
hosts
”C:\Windows\System32\Drivers\etc\hosts”をもとに戻す(#でコメントアウトでもok)
はてなブログを非公開に設定
正常表示を確認
グノシー対応
ここで持ち主よりグノシーにフィードを流したいとのリクエスト
こちらのコードを使わせていただく。
STYLEタグとPタグで警告出るとかでちょい直し(geminiが)
<?php
header('Content-Type: ' . feed_content_type('atom') . '; charset=' . get_option('blog_charset'), true);
$more = 1;
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
do_action( 'rss_tag_pre', 'atom' );
?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en" xmlns:gnf="http://assets.gunosy.com/media/gnf" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
<title><?php echo get_option('blogname');?></title>
<link type="text/html" href="<?php echo home_url('/');?>" rel="alternate"/>
<subtitle><?php echo get_option('blogdescription');?></subtitle>
<updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></updated>
<rights>【コピーライト】</rights>
<logo>【正方形ロゴ】</logo>
<gnf:wide_image_link>【縦44px横長ロゴ】</gnf:wide_image_link>
<?php
while ( have_posts() ) : the_post(); global $post;
?>
<entry>
<title><![CDATA[<?php the_title_rss();?>]]></title>
<link type="text/html" href="<?php the_permalink_rss();?>" rel="alternate"/>
<id><?php the_ID();?></id>
<published><?php echo get_post_time(DATE_RFC3339, true);?></published>
<updated><?php echo get_post_modified_time(DATE_RFC3339, true);?></updated>
<summary><?php the_excerpt_rss();?></summary>
<content><![CDATA[
<?php if ( has_post_thumbnail() ):?>
<figure>
<img src="<?php echo get_the_post_thumbnail_url($post->ID, 'large');?>">
<figcaption><?php echo get_the_post_thumbnail_caption($post->ID);?></figcaption>
</figure>
<?php endif;?>
<?php
$feed_content = get_the_content_feed('atom');
// style属性を除去
$feed_content = preg_replace('/\s+style=(["\']).*?\1/i', '', $feed_content);
// <p>タグが存在しない場合、全体を<p>タグで囲む
if ( ! preg_match('/<p\b/i', $feed_content) ) {
$feed_content = '<p>' . $feed_content . '</p>';
}
echo $feed_content;
?>
]]></content>
<gnf:category>any</gnf:category>
<?php
$categories = get_the_category($post->ID);
if ( !empty($categories) ):
$cats = [];
foreach ($categories as $category) {
if ( !in_array($category->name, $cats) ) $cats[] = $category->name;
if ( count($cats) >= 10 ) break;
}
?>
<gnf:keyword><?php echo implode(',', $cats);?></gnf:keyword>
<?php endif;?>
<?php if ( has_post_thumbnail() ):?>
<link rel="enclosure" type="image/jpeg" title="<?php echo get_the_post_thumbnail_caption();?>" href="<?php echo get_the_post_thumbnail_url($post->ID, 'large');?>" />
<?php endif;?>
<media:status state="<?php echo $post->post_status=='publish' ? 'active' : 'deleted';?>" />
<?php do_action( 'atom_entry' );?>
</entry>
<?php endwhile;?>
</feed>
/wp-content/themes/cocoon-child-master/feed/gunosy.php として保存
https://~.com/feed/gunosy/
でフィードの出力を確認
完成です!!(ぜぇぜぇ)
