Webカテゴリーの記事一覧

はてな記法で書かれたテキストファイルを Markdown に変換するPHPスクリプト

Web

目的・背景

  • 今まで WordPress の投稿本文で「はてな記法」を使っていたが、今後は「Markdown」で書いていくことにした
  • それにあたり、既存の記事も「Markdown」に変換して中身を置き換えたい
    • が、いい感じのパーサーが見つからず
    • 手作業はイヤなので、自家製ゴリ押し置換スクリプトを作ることにした

Read More

WordPress Classic Editor で Markdown 記法を使えるようにする

Web

背景・目的

  • 仕事で Kibela を、プライベートで Notion を利用しており、Markdown でのドキュメント管理が増えてきた
  • このブログ(WordPress)でも Markdown 記法の文章を扱えるようにしたい

前提

目指すゴール

  • wp_posts テーブルの post_content カラムには、Markdown 記法の文章をそのまま格納する
  • the_content() を通したときに適切なHTMLに変換される

WordPress 内のエディタについて

WordPress 内のエディタは、以下2点を前提条件とする。

  • Classic Editor を使用する
  • ビジュアルリッチエディターは使用しない

Read More

WordPress embed ショートコードで埋め込んだ YouTube 動画のレスポンシブ対応

Web

やりたいこと

  • iframeタグの前後に任意のdivを挿入し、CSSでレスポンシブ対応させる
  • アスペクト比は16:9のみ対応とする
  • 動画の埋め込みには embed ショートコードを使用する
  • post_contentにあたる部分を置換するのではなく、embed機能のなにがしかにフックして書き換たい
  • 個別投稿かつYouTube動画の埋め込みにだけ効かせる

Read More

WordPress でカテゴリーアーカイブのURLに /category を入れたくない問題を力技で解決する

Web

今回解決させること

カテゴリーアーカイブのURLから /category を取り除く

  • WordPressデフォルトのカテゴリーアーカイブのURL形式は以下。
    • /notes/category/カテゴリースラッグ/
  • このサイトでは、個別記事のURLを以下に設定している。
    • /notes/カテゴリースラッグ/記事ID
  • なので、上記にあわせてカテゴリーアーカイブのURLも以下のようにしたい。
    • /notes/カテゴリースラッグ/
  • つまり、カテゴリーアーカイブのURLから /category の部分を削除したい。

/category なしURLにアクセスした際の表示不具合を防ぐ

問題の挙動
  • カテゴリーアーカイブのURL形式は
    • /notes/category/カテゴリースラッグ/
  • なので、以下のURLは「正しくないURL」のはず。
    • /notes/カテゴリースラッグ/
  • が、実際にアクセスすると404にはならず、カテゴリーアーカイブの1ページ目が表示されてしまう。
何が困るのか?
  • カテゴリーアーカイブの2ページ目以降の正しいURLは
    • /notes/category/カテゴリースラッグ/page/2
  • なので、ページネーションのリンク先として生成される以下のURLは「正しくないURL」
    • /notes/カテゴリースラッグ/page/2
  • 実際にアクセスすると、こちらは404が表示される。
つまり

カテゴリーアーカイブURLから /category を抜いたURLにアクセスした場合、「1ページ目は問題なく見れるのに、2ページ目以降には行けないページが見れてしまう」状態になっている。

Read More

YouTube Data API v3 を使って任意のプレイリストの動画情報をJSON形式で取得する jQuery + Ajax

Web

概要

  • うちのサイトトップで出力しているYouTube動画埋め込みの出力に使っている仕組みの備忘録。
  • プレイリストの情報(入っている動画情報も含む)をJSON形式で取得するところまでをまとめた。
    • 応用としてチャンネル情報&検索結果も取得して遊んでみた。
  • 実際にiframe等HTMLで出力するにはJSONをパースして組み立てる必要あり。

Read More

YouTubeチャンネルのRSSフィードをPHPでパースして出力する

Web

概要

  • YouTubeチャンネルは、以下のようなURLでRSSフィードを吐いてる。

https://www.youtube.com/feeds/videos.xml?channel_id=【チャンネルID】

  • これをPHPのsimplexml_load_file関数で読み込み、パースして出力する。

サンプル

Read More