WordPressからHugoへ(とりあえず)移行する方法 - 記事データ抽出編

ブログサイトを運営している人にとって、「WordPress」はかなりメジャーな選択肢です。私も、2010年から、何度もサイトを作り直しながら、WordPressを利用し続けてきました。しかし、WordPressは、個人利用のブログにおいては、システムがオーバースペックなところがあります。そこで私は、2019年8月、ブログをWordPressでブログを書くのをやめて、静的サイトジェネレータの一つである、「Hugo1」を利用することにしました。 これから数回に分けて、WordPressのデータをHugoへ移行する手順をまとめたいと思います。 ...

(知らなかった)WordPressの外部コンテンツの埋め込み

WordPressが高機能すぎて、普段の使用では知らなかった機能がたくさんあることがわかりました。 ここ最近、少しでもこのブログを扱いやすくしたいと思って、本を読みながらWordPressの開発方法を勉強しています(ソシム「WordPress ステップアップブック」)。その中でわかってきた機能を、メモしておきます。 外部コンテンツの埋め込み WordPressには、テキスト内のURLを解析して他のサイトのコンテンツを埋め込みしてくれる機能があるみたいです(oEmbedというらしい)。YouTubeやTwitter、InstagramなどUGCを主体としたサイトのコンテンツURLを記述したらOKみたいです。 (追記: 2019/08/14) このブログは当初、WordPressで書いていましたが、現在は、静的サイトジェネレータの「Hugo」で書いています。 Hugoにも埋め込みができる機能があり、Shortcodeと呼ばれています。 以下2つの埋め込みは、Shortcodeで埋め込んだものです。 wp_register_script, wp_deregister_scriptというメソッドを知った。これまで、wp_headとwp_footerのフックに入れてたけど、間違ってたっぽい……。 — 鈴木 孝宏 (@sussan0416) January 23, 2018 View this post on Instagram 函館に来ていますが、すぐ帰ります。 数年前までは深夜急行が走っていたので、駅は夜も明るく開いていました。 でも今は真っ暗、開いてないみたい…。 A post shared by Takahiro Suzuki (@sussan0416) on Nov 12, 2017 at 8:37am PST JavaScriptの扱い方 これまで、ヘッダーまたはフッターにスクリプトを書く場合、wp_headやwp_footerのフックでechoするように書いていたんだけど、推奨されているわけではないことがわかった。wp_register_scriptというメソッドで追加するらしい。まだやってないけど、今後対応するつもり。てか主要なJavaScriptのライブラリ?はWordPressにEmbedされているっぽくて、それを使えば良さそう。 エディタのアイコンをカスタマイズ できるらしい(まだやってないけど)。このへんが参考になる。 WordPress:ビジュアルエディタをカスタマイズする際の備忘録 ひとまず、今日はこのへんで。...

WordPressにGoogle Analyticsを導入する

プラグインで入れればおそらく導入は簡単。でも、数行のコードを入れるだけなので、プラグイン入れるほどでもない。なので、今回はfunctions.phpにカスタム関数を追加する方法でやってみることにした。 実装する記述 functions.phpに以下の記述を追加する。 // headerタグの出力処理に、独自の関数の処理を追加する add_action('wp_head', 'add_ga_script_if_not_logged_in'); // ログインしていない場合に、Google Analyticsのスクリプトを追加する function add_ga_script_if_not_logged_in() { if ( !is_user_logged_in() ) { echo ' <script> (function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,\'script\',\'https://www.google-analytics.com/analytics.js\',\'ga\'); ga(\'create\', \'UA-xxxxxxxxxx-x\', \'auto\'); ga(\'send\', \'pageview\'); </script> '; } // end if } インデントがおかしくなっているが、HTMLに出力されたときにきれいに出すには、こうするしかなかった……。...

WordPressを常時SSL化する

httpでアクセスしても、httpsにリダイレクトするよう、htaccessを修正した。 追加する記述 具体的には以下の通り。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> httpsではないリクエストが来たら、httpsに置換したURIで、301リダイレクトする、という感じ。...

5回目のWordPress

久しぶりにWordPressを触りたかったのが一番の理由。厳密には1年半ぶりだけど。 Evernote以外で、文字だけで残せる場所が欲しかったというのも大きい。Instagramは写真が必要だし、Twitterは140字でなんか少ないし、長く書いたらさかのぼらないといけないから大変。TumblrもいつのまにかYahoo.comのアカウント必要になってログイン煩雑だし、なんか続かないし。 文字だけでもいいから、ゆるく書き続けられる場所が良かったという感じ。...