CREATIVE HUB

Loading

本文へ移動

Application

WordPress® Theme ”A LEGEND”

動きとデザイン性を兼ね備えた、制作に集中できる軽量WordPressテーマ。

  • 2.0.25
  • 2026-08-02
  • Web
  • Utility
  • 113 views

About

アプリケーション概要

A LEGEND ― 技術主導で設計された WordPress テーマ

A LEGEND は、拡張性・保守性・運用性を最優先に設計された、
開発者主導の WordPress テーマです。

設計思想

  • 機能単位で分離された モジュール構成(inc/functions-*.php)
  • functions.php は読み込みハブに限定
  • 表示ロジックとアセット管理を明確に分離
  • 将来拡張を前提とした CPT / Taxonomy 設計

コンテンツ構造

  • 標準投稿(BLOG)
  • NEWS / GALLERY / APPLICATION(独立した CPT)
  • タクソノミー・メタボックスを用途別に管理
  • テンプレート階層を厳密に活用した表示制御

フロントエンド実装

  • ページ条件に応じた CSS / JS の遅延・選択的読み込み
  • GSAP / Splide / Lightbox 等を統合
  • 表現力を保ちつつ、不要なアセットを排除

管理・運用機能

  • 専用 Theme Settings ページを実装
  • パスワード保護投稿の 定期パスワード自動ローテーション
  • 管理画面拡張(一覧カラム・メタボックス)

向いている用途

  • 複数コンテンツタイプを持つ中〜大規模サイト
  • 長期運用・継続開発前提の WordPress プロジェクト
  • デザインとコードの両立を求めるチーム開発

A LEGEND は、「作るため」ではなく「育て続けるため」に設計された WordPress テーマです。

Changelog

変更履歴

全55件

Version 2.0.25

SNSカード画像の優先順位を整理し、Password Rotationの初期パスワードをWordPressの正規保存経路へ同期できるようにしました。

STABLE

・BLOG、NEWS、固定ページ、Contactを含む各詳細ページで、有効なアイキャッチ画像をOGP/Twitter Card画像の最優先候補として扱う共通ルールを整備しました。

・Gallery詳細では、アイキャッチ画像、Gallery素材内の最初の有効画像、デフォルトOGP画像の順で安全にフォールバックするようにしました。

・APPLICATION詳細では、アイキャッチ画像、ヒーロー画像、スクリーンショット内の最初の有効画像、アプリアイコン、デフォルトOGP画像の順で解決するようにしました。

・動画、非対応形式、削除済みまたは不正な添付IDを安全に除外し、次の有効画像へ進む候補配列型の共通画像リゾルバーへ整理しました。

・既存のSEOフィルター、互換関数、パスワード保護ページのセーフ画像、SEOプラグインとの共存、OGPとTwitter Cardで同一画像コンテキストを共有する仕様を維持しました。

・Password RotationでCurrent Passwordが投稿画面に表示されても、そのまま保存するとpost_passwordへ反映されなかった問題を解消しました。

・GutenbergではWordPress Data APIのcore/editorへ正式に同期し、Classic Editorでは標準post_passwordフィールドを通して保存するEditor Adapter構成へ変更しました。

・編集画面を開いただけでは投稿を変更せず、ユーザーがパスワード保護を選択した時だけCurrent Passwordを適用する安全なトリガー方式にしました。

・既存の個別パスワード、ユーザーによる変更・削除・保護解除を最優先し、自動保存、UI再描画、複数回の公開範囲操作でも不要な再入力や上書きが起きないよう状態管理を整理しました。

・REST API、WP-CLI、XML-RPC、クイック編集、一括編集など、通常の投稿編集画面以外へCurrent Passwordを強制適用しない既存の責務境界を維持しました。

Version 2.0.24

TOP Galleryの表示契約を再整備し、セクション本体・大型見出し・リード文を管理設定どおり表示できるようにしました。

STABLE

TOPページ再構築後に表示されなくなっていたGalleryセクションを復旧しました。

Galleryの設定取得、表示判定、投稿Query、カード設定、Slider/Grid設定、空表示設定、HTML属性をSection Providerの完成済みViewModelへ集約しました。

Galleryテンプレートが未定義のModel生成関数へ再依存して無言終了していた構造を解消し、Shellから渡された完成済みModelだけを描画する構成へ統一しました。

TOP ViewModelでProvider、Template、Modelの基本契約を検証し、欠落や不正状態を安全に無効化できる構造を整えました。

管理画面に保存されたheadingを大型背景文字用のeyebrowへ、leadを説明文用のdescriptionへ正規化する共通見出し契約を整備しました。

Galleryの「GALLERY」大型見出し、「ギャラリー」タイトル、リード文、CTAが既存設定どおり表示されるようにしました。

新形式のcopy.eyebrow/eyebrow/subheadingをheadingより優先し、copy.lead/leadをdescriptionより優先する後方互換性のある解決順を定義しました。

互換用のheading/leadキー、既存CTA、見出しvariant、Gallery投稿、タクソノミー、一覧・詳細、Lightbox、Slider、デザイン設定、URLを維持しています。

Version 2.0.23

TOPページの実行構造とスマートフォン操作制御を再設計し、安定化完了後は調査用診断基盤をテーマ本体から完全撤去しました。

STABLE

・TOPページを正式なSection Registry、ViewModel、Shell、Controller構成へ整理し、各セクションの初期化・停止・再開・破棄責務を明確化しました。

・Frame Scheduler、Visibility Manager、Interaction Coordinator、Resource Budget、Performance Profileを正式な安定化機能として統合しました。

・スマートフォンではネイティブスクロールを優先し、Lenis、独自Pointer制御および不要な高頻度Viewport更新を起動しない構成にしました。

・Gallery、Application、Blogのモバイル操作をネイティブScroll Snap中心へ整理し、初回表示直後の素早いスワイプでも指の動きへ追従しやすい構造にしました。

・画面外セクション、非表示タブ、Gesture操作中の非必須アニメーションを停止し、初期表示時と操作中のCPU・GPU負荷競合を抑制しました。

・Hero、Gallery、Application、Blogなどで、外部ライブラリや高度な演出が利用できない場合も静的表示と通常リンクを維持するフォールバックを整備しました。

・外部ライブラリ依存をAdapter層へ分離し、Splide、Gallery AutoScroll、Lenisの生成・解除・破棄経路を整理しました。

・TOP Runtimeの状態確認用として、通信・保存を行わない読み取り専用のwindow.ALEGEND2.top.getState()を正式化しました。

・リフレッシュ現象の原因調査に使用した操作収集、セッション追跡、Performance Observer、REST/Ajax送信、ログ保存、診断管理画面をテーマ本体から完全撤去しました。

・診断専用のBootstrap、Asset Registry、nonce、Global設定、Page Load ID、DOM属性、Storage生成および管理画面Actionを削除しました。

・診断撤去後も、Frame Scheduler、Resource Budget、Performance Profile、Visibility制御、Gesture所有権、BFCache対応、静的フォールバックは正式機能として維持しました。

・既存の投稿、テーマ設定、デザイン設定、URL、SEO、Desktop Orbit、カードリンク、Loader、Lightboxおよび各セクションの表示仕様は維持しています。

Version 2.0.22

TOP Applicationのレスポンシブ制御を再設計し、名前空間エラーの解消と初期化・破棄処理の安定性を向上しました。

STABLE

・TOP Applicationで発生していた「Uncaught ReferenceError: root is not defined」を解消しました。

・top-application.jsのIIFEへwindowとdocumentを明示的に注入し、共通名前空間window.ALEGEND2を正規の参照元として初期化しました。

・SplideとGesture Adapterの生成・登録・解除・破棄順序を整理し、PC/スマートフォン表示切替時のライフサイクルを対称化しました。

・Gesture Adapterの登録ハンドルを優先して解除し、二重detach・二重destroy・処理再入を安全に防止しました。

・Splideのmount途中で処理に失敗した場合でも、状態・参照・CSSクラスをロールバックし、操作可能な静的表示へフォールバックする構造にしました。

・MediaQueryのchangeリスナーを状態として保持し、セクション撤去時に解除できる完全クリーンアップ経路を追加しました。

・documentとwindowのaleg2:refreshを維持しながら、同一フレーム内の重複処理を集約し、DOM差し替え時の旧セクション参照を破棄する構造にしました。

・PC/レスポンシブ表示のinteractive状態とSplide用CSSクラスを排他的に管理し、画面幅の往復切替後も状態が残留しないようにしました。

・Gesture AdapterまたはSplideが利用できない場合でも、TOP Application全体を例外停止させず、既存カードを表示・操作できるフォールバックを維持しました。

・Desktop Orbit、カードリンク、autoplay、reduced-motion、矢印、ページネーションおよび既存デザイン仕様は変更していません。

Version 2.0.21

詳細本文の見出し体系と一覧ヘッダーのサブタイトル色を共通化し、画面間のタイポグラフィと配色を統一しました。

STABLE

NEWS、BLOG、GALLERY、APPLICATIONおよび固定ページの本文領域について、H1〜H6を共通の本文タイポグラフィ体系として管理する構造へ整理しました。

PC表示時に本文内のH1・H2がページタイトル用の大型スケールを継承して過大表示される問題を解消し、本文として読みやすいサイズへ調整しました。

本文見出しの文字サイズ、行間、字間、上下余白、連続する見出し間の余白、長い文字列の折り返し、アンカー移動時の固定ヘッダー回避を共通管理しました。

Gutenbergの個別文字サイズクラスおよびインラインのfont-size指定は投稿者による明示設定として尊重し、テーマ側で強制上書きしない構造を維持しました。

NEWS詳細の本文ラッパーを共通本文クラスへ接続し、リンク、リスト、引用、表、キャプション、見出しなどの本文表示を他の詳細画面と共有しました。

NEWS、BLOG、GALLERY、APPLICATIONおよび各派生アーカイブの一覧ヘッダーサブタイトルを、共通アーカイブヘッダーが管理する第1アクセント色へ統一しました。

サブタイトル左側の装飾ラインはcurrentColorによって文字色へ追従するため、文字とラインが常に同じ色で表示されます。

NEWS、BLOG、GALLERY固有CSSに存在していた一覧サブタイトル色の重複上書きを除去し、共通アーカイブヘッダーを唯一の色定義元としました。

カード内の投稿種別、GALLERY固有装飾、BLOGの背景グロー、詳細ページのアクセントなど、各コンテンツ固有のデザインは変更せず維持しています。

第2アクセント色の設定値、CSS変数、移行データおよび他コンポーネントでの利用は維持し、一覧サブタイトルとの接続だけを整理しました。

既存HTML、投稿データ、データベース、JavaScript、管理画面の保存項目および修正対象外コードは変更していません。

Version 2.0.20

TOPカードのデザイン設定連携を整理し、NEW/UPDATEバッジを全セクション共通の状態デザインへ統一しました。

STABLE

TOP BLOGの旧A LEGENDカードで、カード角丸と画像角丸がデザイン設定を無視して直角になる問題を解消しました。

TOP BLOGの通常・旧A LEGENDカードで、画像角丸、カードのホバー移動量、画像のホバー拡大率を正規デザイントークンへ接続しました。

TOP NEWSの旧A LEGENDカードでは、画像角丸をカード角丸から独自算出せず、画像角丸設定を直接使用する構造へ統一しました。

TOP NEWSのカードホバー移動量と画像拡大率を共通設定へ接続し、安全表示域と実際の移動量が一致する構成にしました。

TOP APPLICATIONのカードホバー移動量、画像拡大率、transition時間、easingをテーマ共通のデザイン・モーショントークンへ接続しました。

旧A LEGENDレイアウトは配置・構造のみを担当し、角丸・影・色・モーションなどの質感はデザイン設定を優先する責務分離へ整理しました。

NEW/UPDATE専用のセマンティックデザイントークンと共通状態バッジコンポーネントを追加しました。

TOP BLOG、TOP APPLICATION、TOP GALLERYおよび共通投稿カードで、NEWとUPDATEの背景色、文字色、枠線、角丸、影、サイズ、タイポグラフィを統一しました。

NEWはメインアクセント、UPDATEはサブアクセントへ接続し、どのセクションでも状態に応じて同じデザインが適用されるようにしました。

既存のセクション固有クラスとDOM構造を維持しながら、共通基底クラスと状態クラスを追加する後方互換方式で実装しました。

共通投稿カードのNEW/UPDATE文言を翻訳関数へ接続し、高コントラストモードでも状態を識別できる表示を追加しました。

NEW/UPDATEの表示ON/OFF、表示日数、判定順序、同時表示可否などの既存機能仕様は変更していません。

データベース、JavaScript、投稿データ、管理画面の既存保存項目、および修正対象外コードは変更していません。

Version 2.0.19

Gallery詳細のスクロール操作と長文表示を再設計し、画像・本文・タグ・シェアを最後まで自然に閲覧できるようにしました。

STABLE

・PCのGallery詳細で、画像領域だけでなくテキスト領域上のホイール・
トラックパッド操作でも、同じページスクロールを通じて画像が進むようにしました。

・テキスト固有の内部スクロールバーやwheelイベントの強制転送を追加せず、
ページの実スクロール位置を唯一の状態源として維持しました。

・Gallery詳細をMedia TrackとText Trackの段階式同期へ拡張し、
画像・動画の完走後に長文テキストを続けてスクロールできるようにしました。

・短文、長文、画像1枚、画像複数、画像・動画混在の各構成を実寸から
自動判定し、不要な同期区間を作らない構成を維持しました。

・Text ViewportとText Trackの責務を分離し、本文、タグ、
シェアボタン、Footer余白を含む自然高から移動距離を算出する
構造へ整理しました。

・計測中と表示中で同じText Viewport契約を使用し、長文によって
計測用コンテナが伸び、テキストの移動距離が不足する問題を解消しました。

・Text Viewportの可視高を、計測中のclientHeightではなく、
Gallery同期表示で確定した正式なViewport高と実適用パディングから
算出するようにしました。

・本文末尾、タグ、シェアボタンへ到達する前にViewerが完走し、
Related Contentsへ移行してしまう問題を解消しました。

・画像側とテキスト側のどちらから操作しても、同じスクロール進行と
なるよう操作体系を統一しました。

・ResizeObserver、画像・動画・iframeの読み込み、Webフォント、
pageshow、BFCache、ブレークポイント変更後の再計測基盤を維持し、
現在のページ位置から再同期する構成を保持しました。

・Lightbox、Media Trackの画像比率計算、動画制御、Gallery一覧、
TOP Gallery、他投稿タイプ、管理画面、テーマ設定、投稿データ、
および修正対象外コードは変更していません。

Version 2.0.18

スマートフォンのTOP BLOGカード余白と、関連記事スライダーのレスポンシブ表示境界を安定化しました。

STABLE

スマートフォン表示のTOP BLOG legacyカードで、画像領域の右端がカード枠へ接触する問題を解消しました。

TOP BLOGカード内部の本文領域と画像領域を親Gridの有効幅へ拘束し、カード自身のpaddingを左右余白の唯一の基準として維持しました。

固定margin、calc()、transform、JavaScriptによる幅補正を使用せず、画像比率、hover演出、Splide、デザイン設定への追従を維持しました。

関連記事スライダーで、PCの表示容量3件を超える次カードが右端へ露出する問題を解消しました。

関連記事の取得件数は既存設定を維持し、同時表示数をPC最大3件、タブレット最大2件、スマートフォン最大1件とする既存レスポンシブ仕様を維持しました。

共通スライダーCSSを変更せず、関連記事のSplide起動中だけtrackの表示境界を管理することで、表示容量外のカードを左右へ露出させないようにしました。

関連記事が表示容量以下の場合の静的Grid、JavaScript無効時、Splide未初期化時、destroy後のfallback表示を維持しました。

関連記事の矢印、ページネーション、ドラッグ、スワイプ、巻き戻し、hover、shadow、focus-visible、および4件目以降をスライド操作で閲覧できる既存機能を維持しました。

BLOG一覧・詳細、TOP BLOG以外のカード、NEWS、GALLERY、APPLICATION、CONTACT、共通Splide基盤、および修正対象外コードは変更していません。

機能改修は最新版テーマへ適用済みのため、本リリース作業ではstyle.css、ALEG2_THEME_VERSION、metadata.json、changlog.htmlのみを2.0.18へ整合させました。

Version 2.0.17

スライダー操作の入力競合を解消し、Lightboxを画像専用ズームへ再構築して連続ピンチ時の安定性と操作性を強化しました。

STABLE

・共通Gesture制御がSplideの前後矢印、カードリンク、ページネーションなどの標準クリックを遮断しないよう、入力所有権とクリック抑止処理を整理しました。

・ドラッグ後の誤クリック防止を、実際に横ドラッグが成立した同一スライダー内のリンクだけへ限定しました。通常クリック、キーボード操作、前後矢印、閉じるボタンは従来どおり操作できます。

・Pointer Captureの正常解放と異常終了を区別し、pointercancel、lostpointercapture、画面非表示、ウィンドウ非アクティブ化などが発生した場合も、安全な共通復旧経路へ戻るよう改善しました。

・TOP BLOG、TOP GALLERY、TOP APPLICATION、関連記事など、共通Splide/Gesture基盤を利用する関連機能へ入力競合対策を反映しました。

・Lightboxのピンチ操作をブラウザのページ全体ズームへ委譲する方式から、表示中の画像だけをtranslate3dとscaleで拡大する専用Zoom Controller方式へ変更しました。

・Lightboxで2本指ピンチ、拡大後の1本指パン、等倍復帰、前後移動時のズーム初期化、Close/Escape時の完全破棄を一貫した状態管理で行うようにしました。

・拡大中はSplideのドラッグを一時停止し、画像が等倍へ戻った時点で再開することで、画像パンとスライド移動の入力競合を防止しました。

・画像表示用のPreview Sourceと拡大用のZoom Sourceを分離し、高解像度画像は現在のスライドで必要になった場合だけ段階的に読み込むようにしました。

・スライド移動、Lightbox終了、読み込み世代変更時に古い高解像度要求や画像参照を無効化し、不要な画像デコードとメモリ保持を抑制しました。

・Zoom用DOM、Pointer情報、requestAnimationFrame、ResizeObserver、Splide停止トークンをreset/destroy時に一括清掃し、再オープンや異常終了後へ状態を残さないようにしました。

・Lightbox表示中はTOP GalleryのAutoScrollや背景の自動再生メディアを停止し、終了後は開始前に動作していたものだけを再開するOverlay連携を追加しました。

・Lightbox操作中の全画面ぼかし描画を軽量化し、現在画像だけへGPU変形対象を限定することで、モバイル端末での連続ピンチ時の描画負荷を抑えました。

・通常ページのブラウザズーム、既存の投稿データ、テーマ設定、デザイン設定、Lightbox起動条件、Splide本体、および修正対象外コードは変更していません。

Version 2.0.16

Password Rotation設定の保持を安定化し、対象投稿タイプの投稿画面へCurrent Passwordを保存せず表示する入力補助を追加しました。

STABLE

・Password Rotation設定ブロックが別タブ保存や画面構成変更によって未送信になった場合、既存設定一式を維持するよう保存処理を改善しました。

・ユーザーが有効チェックを明示的に外した場合は従来どおり無効化し、設定ブロックの未送信とユーザーによる明示操作を区別できるようにしました。

・Password Rotationが有効な場合に限り、設定で選択されている対象投稿タイプの投稿編集画面へCurrent Passwordを表示する入力補助を追加しました。

・対象投稿タイプ判定はPassword Rotation設定のpost_typesを参照し、BLOG、NEWS、GALLERY、APPLICATION、固定ページなどの選択状態へ追従します。

・既存の投稿パスワードが設定されている投稿ではCurrent Passwordを表示せず、個別に設定された投稿パスワードを維持します。

・Current Passwordは、対象投稿を編集または作成できる権限を持つユーザーの投稿編集画面だけへ出力します。

・Password Rotationが無効、投稿タイプが対象外、権限不足、Current Passwordが存在しない、または復号できない場合は、Current Passwordを投稿画面へ出力しません。

・Gutenbergの投稿編集データへCurrent Passwordを書き込む処理を廃止し、WordPress標準のパスワード入力欄のDOM表示値だけを一時的に補完する方式へ変更しました。

・テーマ側からeditPost、savePost、autosave、input、changeなどの保存・同期処理を実行しない構造としました。

・Current Passwordを入力欄へ表示しただけでは、wp_posts.post_password、投稿メタ、Password Rotation設定、テーマ設定を更新しません。

・Gutenbergの動的な公開範囲ダイアログ生成とReact再描画へ対応し、入力欄が空かつユーザー未操作の場合だけCurrent Passwordを表示します。

・ユーザーが入力、貼り付け、削除、IME入力などを行った後は、Current Passwordを再補完せずユーザー操作を優先します。

・公開範囲ダイアログを閉じた場合は、ユーザー未操作の表示専用値を破棄し、平文パスワードが不要にDOMへ残り続けないようにしました。

・Classic Editorでも同じ表示専用方針を適用し、投稿データやDBへ自動保存しない互換処理を維持しました。

・Current Passwordをログ、URL、data属性、value属性、localStorage、sessionStorage、Cookieへ保存しない方針を維持しました。

・既存のPassword Rotation暗号化、ローテーション実行、Cron、監査、移行、投稿メタ管理、および修正対象外コードは変更していません。

・テーマ本体のstyle.css、テーマ定数ALEG2_THEME_VERSION、WordPress標準更新用metadata.json、配信用changlog.htmlを2.0.16として統一しました。

Version 2.0.15

トップNEWSの旧A LEGENDレイアウトのホバー配色をデザイン設定へ統合し、トップに戻るボタンをフッター上で安定停止する構造へ再構築しました。

STABLE

トップページのNEWSセクションで「A LEGEND(旧)」レイアウトを使用した際、カードおよびVIEWエリアのホバー背景が白へ切り替わる問題を解消しました。

カードのホバー背景は、テキストリンク用のホバー色ではなく、テーマの共通ボタン背景色へ接続しました。カードタイトル、日付、抜粋、カテゴリーラベルの文字色も共通ボタン文字色を基準とする構造へ統一し、管理画面のデザイン設定変更へ自動的に追従します。

カテゴリーラベルは、ホバー時も通常カード面の背景と境界線を維持することで、カード背景との識別性を確保しました。VIEWエリアは、ホバー時にも通常時と同じ背景色、文字色、境界線を維持し、白へ反転しないようにしました。固定カラーコードや共通デザイントークン自体は変更せず、A LEGEND(旧)レイアウト専用トークンの参照関係だけを整理しています。

トップに戻るボタンは、フッター接近時にスクロールごとの押し上げ量を計算する旧方式を廃止し、floatingとdockedの配置状態を切り替える方式へ再構築しました。

通常時は画面右下へ固定表示し、フッターへ到達した後はサイトラッパーを基準とした文書座標へドッキングします。停止後に位置を毎フレーム書き換えないため、スムーススクロールやサブピクセル計算によって発生していた上下方向の微細な揺れを防止します。

配置を担当する外側レイヤーと、表示・操作・アニメーションを担当するbutton要素を分離しました。表示状態のhidden、entering、visible、leavingと、配置状態のfloating、dockedを独立して管理できる構造です。

停止座標は、初期化、画面サイズ変更、BFCacheからの復帰、フッター・サイト・ボタンのサイズ変更など、レイアウトが変化した場合だけ再計測します。通常のスクロール中はキャッシュ済み境界との比較だけを行うため、処理負荷とレイアウト再計算も削減しました。

Lenisとネイティブスクロール、モバイル端末のsafe-area、キーボード操作、ARIA属性、reduced motion、モバイルメニュー連携、既存の登場・退場アニメーション、ページ上部へのスクロール処理との互換性を維持しています。

Version 2.0.14

BLOGスライダーの操作ボタン表示を安定化し、パスワード保護フォームのデザイン統一と案内メッセージ設定に対応しました。

STABLE

トップページのBLOGセクションで、旧A LEGEND風カードをスライダー表示した際に「次へ」ボタンが画面外へ押し出される問題を解消しました。

スライダー操作ボタンの下部左寄せ配置と左右オーバーレイ配置を排他的な共通Modifierとして分離し、共通SliderコンポーネントとBLOG固有レイアウトの責務が競合しない構造へ整理しました。PC・タブレットではカード左右の操作ボタンを維持し、スマートフォンでは下部左寄せへ切り替わる既存のレスポンシブ動作を維持しています。

WordPress標準の投稿パスワードフォームをA LEGEND 2の共通フォームコンポーネントへ統合しました。「確認」ボタンには共通Primaryボタン構造を適用し、背景色、文字色、ホバー、角丸、影、フォーカス表示など、テーマのデザイン設定へ連動するようにしました。

パスワード入力欄、ラベル、操作領域も共通UIとして整理し、PC・タブレットでは横並び、スマートフォンでは縦積みで表示されます。

詳細ページ共通設定へ「パスワード保護メッセージ」を追加し、管理画面から案内文を編集できるようにしました。設定メッセージは複数行入力と改行表示に対応し、HTMLを実行しない安全なプレーンテキストとして保存・表示します。

設定値が未入力、空文字、空白または改行だけの場合は、「このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。」という標準メッセージを自動表示します。標準文はDBへ強制保存せず、未設定サイトや設定リセット後もテーマ標準文へ自動的にフォールバックします。

BLOG、NEWS、GALLERY、APPLICATION、固定ページ、および将来追加される投稿タイプで共通フォームを利用できます。独自Ajax、独自Cookie、テーマ独自のパスワード照合は追加せず、WordPress標準の投稿パスワード認証処理と既存のコンテンツ保護判定を維持しています。

Version 2.0.13

APPLICATIONの3Dオービット連続操作を安定化し、Xシェアの記事タグ統合・改行保持・Intent URL生成を安全で拡張可能な共通基盤へ整理しました。

STABLE

トップAPPLICATIONの3Dオービットについて、前後ボタンを素早く連続操作した際に発生していた逆方向移動、位置飛び、最終位置のスナップを解消しました。描画位置と移動目標を連続値として管理し、操作中に入力された移動数を失わず、目標位置へ順次反映するRAFベースの移動制御へ整理しています。連打時にアニメーションを都度作り直さず、目標位置だけを累積することで、操作間隔やフレームレートに依存しにくい安定した動作へ改善しました。

Xシェアでは、BLOG・NEWS・GALLERY・APPLICATIONの各投稿タイプから記事タグを取得し、その後ろへ共通ハッシュタグを追加する仕様へ統一しました。記事タグと共通タグの重複を排除し、記事タグ側の表記と順序を優先しています。カテゴリー、プラットフォーム、技術スタックなどは混在させず、投稿タイプごとのタグTaxonomyだけを対象としています。

X Intent URLは、空白・改行・ハッシュ記号・日本語・特殊文字を値ごとにRFC 3986形式で安全にエンコードする構造へ変更しました。半角空白は%20、改行は%0A、ハッシュ記号は%23として引き渡されます。改行を含むIntent URLは通常URL用のesc_url()へ通さず、許可済みのHTTPSホストとIntentパスだけを専用検証後に出力する設計としました。

また、タイトルや抜粋など一行で扱う置換値と、管理画面で指定した改行を保持する完成本文の正規化処理を分離しました。完成本文ではHTMLタグだけを除去し、CRLF・CR・Unicode改行をLFへ統一しています。行内の半角空白、タブ、NBSP、全角空白だけを整理し、段落構造を維持したままX投稿画面へ反映できるようにしました。

既存の投稿データ、テーマ設定、投稿タイプ別テンプレート、via、URL自動付与、OGP、Twitter Cardとの互換性は維持しています。

Version 2.0.12

3Dオービットの操作安定化と、テーマ全体のスライダー操作UIの共通化を行いました。

STABLE

トップページのAPPLICATIONセクションで使用する3Dオービットについて、
マウスドラッグ終了時に表示カードがさらに1件移動してしまう位置ずれを修正しました。

ドラッグ開始時の論理位置と、ドラッグ・アニメーション中の描画位置を分離し、
ドラッグ距離にかかわらず1回の操作で最大1カードだけ移動するように整理しました。

クリック候補とドラッグ操作の判定を分離し、カード内の画像、タイトル、
「詳しく見る」リンクをクリックした際に、Application詳細画面へ
正常に遷移できるようにしました。

Pointer Captureは横ドラッグが確定した後だけ取得するように変更し、
通常クリック、修飾キー付きクリック、右クリック、中クリックを
オービット側が妨げないようにしました。

レスポンシブ表示時のAPPLICATIONスライダーについて、
Splide標準のカード重ね配置を解除し、カード、前後ボタン、
ページネーションを通常フローで配置する構造へ変更しました。

前後ボタンをカード左下へ配置し、カードの高さ、説明文の量、
画像比率が変化してもボタンがカードへ重ならないようにしました。

カードの影、フォーカスリング、ホバー時の移動量を考慮した
操作用安全余白を追加しました。

スライダー操作ボタンの色、背景、枠線、影、ホバー、
フォーカス、無効状態、アニメーションを共通Sliderコンポーネントへ集約しました。

TOP BLOG、TOP APPLICATION、各投稿タイプの関連記事へ
共通スライダー操作UIを適用しました。

APPLICATIONのPC用3DオービットとLightboxは、
それぞれの専用配置と操作方式を維持したまま、
操作状態の色とアニメーションを共通デザイントークンへ接続しました。

ホバー背景にはデザイン設定のリンクホバー色を使用し、
ホバー時の矢印色には背景上の文字色を使用するよう統一しました。

APPLICATION固有だった拡大ホバーを廃止し、
BLOGと同じ上方向への移動アニメーションへ統一しました。

ページネーションの通常、ホバー、選択状態、
キーボード操作時のフォーカス表示を共通化しました。

Reduced Motion、タッチ端末、disabled、aria-disabledを
共通処理で扱うようにしました。

既存のテーマ設定、Application投稿データ、Splide初期化条件、
Autoplay、ドラッグ、ページネーション、レスポンシブ切り替えとの
互換性を維持しています。

Version 2.0.11

Application変更履歴のフロント表示と管理画面を、履歴件数の増加に対応できる段階表示・絞り込み・ページング構成へ刷新しました。

STABLE

Application投稿に多数の変更履歴が登録されている場合でも、フロント画面とWordPress管理画面が過度に縦長にならず、必要な情報を効率よく確認・編集できるよう表示方式を再設計しました。

フロント画面では変更履歴を最新5件から表示し、「さらに表示」で5件ずつ追加できる段階表示へ変更しました。「すべて表示」と「最新へ戻す」にも対応しています。

各変更履歴をアコーディオン形式とし、初期状態では最新の1件だけを展開します。登録済みのバージョン番号からメジャーバージョンを判定し、「2.x」「1.x」などの単位で履歴を絞り込めるようにしました。

特定リリースへの直接リンクにも対応しました。対象リリースが初期表示範囲外にある場合は、自動的に表示範囲を拡張して詳細を開きます。タブを切り替えた場合も、表示件数、絞り込み、開閉状態を維持します。

JavaScriptが無効な環境では全履歴を閲覧でき、印刷時にはすべての履歴が展開されます。

WordPress管理画面では、変更履歴を標準10件単位のページング表示へ変更しました。表示件数は10件、25件、全件から選択できます。

バージョン、日付、チャンネル、概要、詳細、ラベルなどを対象とする検索と、リリースチャンネルによる絞り込みを追加しました。各履歴は折りたたみ形式となり、「すべて開く」「すべて閉じる」にも対応しています。

未保存の編集状態と削除保留状態を表示し、保存前であれば削除を取り消せるようにしました。

stable、beta、alpha、rc、nightly、deprecated のチャンネル定義を、保存・検証・管理画面で共通化しました。また、フロントと管理画面の表示件数および初期展開件数を共通ポリシーへ集約しています。

既存の変更履歴データ、app_releases メタ、RESTスキーマ、Editor Store同期、従来の保存方式、並び替え機能、フロント表示との互換性は維持しています。

Version 2.0.10

Application投稿のREST保存基盤を安定化し、変更履歴を含むApplication情報を正常に保存できるよう改善しました。

STABLE

Application投稿で変更履歴を保存した際に、「更新に失敗しました」と表示され、変更履歴がデータベースへ登録されない問題を修正しました。

直接原因は変更履歴app_releasesではなく、同じRESTリクエストで保存される掲載順メタapp_orderのサニタイズ処理でした。

app_orderのsanitize_callbackへPHP組み込み関数intval()を直接登録していたため、WordPressが値、メタキー、オブジェクト種別、投稿タイプの4引数を渡した際にArgumentCountErrorが発生していました。

app_orderだけを匿名関数で包む局所対応ではなく、Applicationメタ全体のサニタイズ処理をWordPressのメタAPIコールバック契約へ統一しました。

掲載順、画像ID、動画IDなどを非負整数として扱い、真偽値メタは0または1へ統一しました。

文字列、複数行テキスト、許可HTML、URLについても、Application専用の名前付きサニタイズ関数へ整理しました。

変更履歴のRESTスキーマ、保存前検証、互換正規化、Editor Store同期、従来POST保存は維持しています。

PHP Fatal時に返されるWordPressの重大エラーHTMLをそのまま管理画面へ表示せず、安全な管理者向けメッセージへ変換するよう改善しました。

既存Application投稿、メタキー、変更履歴、フロント表示、旧保存方式との互換性を維持しています。

Version 2.0.9

NEWS・BLOG・GALLERY・APPLICATION・固定ページ・CONTACTへ累計閲覧数表示機能を追加しました。

STABLE

投稿や固定ページの閲覧数を累計記録し、各コンテンツの一覧・詳細画面へ表示できるPV機能を追加しました。

対象はNEWS、BLOG、GALLERY、APPLICATIONの一覧・詳細、通常固定ページ、CONTACTページです。

コンテンツ種別ごとに閲覧数表示の有効・無効をテーマ設定から切り替えられるようにしました。

管理画面の投稿一覧では、既存の累計PVを確認できる列を追加しています。

閲覧数の記録処理と表示処理を分離し、一覧表示だけを無効にした場合でも累計値を維持できる構造にしました。

既存投稿には新しい保存処理や一括移行を要求せず、閲覧された時点から累計値を保持します。

テーマの既存デザイン設定、タイポグラフィ、色、余白、カード構造に合わせて表示されるよう統合しました。

Version 2.0.8

固定ページとBLOG詳細の本文幅を統一し、共通前後ナビゲーションの画像切れを改善しました。

STABLE

固定ページとBLOG詳細の標準本文幅を、共通設定content.single.common.content_widthとCSS変数--aleg2-single-content-widthへ統一しました。

標準本文幅の初期値を960pxへ整理し、旧初期値860px・920pxだけを960pxへ正常化する移行処理を追加しました。

固定ページ専用だった旧本文幅設定を廃止し、管理画面、初期値、スキーマ、サニタイズ、CSS、テンプレートの参照経路を一本化しました。

既存の有効なカスタム本文幅は維持されます。

BLOG、NEWS、GALLERY、APPLICATIONで共通利用する前後ナビゲーションの画像枠を、グリッドカラム幅基準で計算するよう変更しました。

PREV側画像の右端や角丸がカード外周で切れる問題を解消し、NEXT側と同じ寸法・余白・画像比率へ統一しました。

Version 2.0.7

Application概要の改行表示と、詳細ページ・固定ページのタイトルサイズ体系を整理しました。

STABLE

Application詳細の長文概要に保存された改行を、保存値を変更せずWordPress標準の段落HTMLへ変換して表示するよう改善しました。

許可HTMLの維持、空内容判定、段落化、最終サニタイズをApplication共通フォーマッターへ集約しました。

既存のapp_summary_longメタキー、保存形式、REST API、SEO出力、管理画面入力、既存投稿データは変更していません。

BLOG、NEWS、固定ページで共通利用する標準コンテンツタイトル用のDesign Tokenを追加し、固定ページのタイトルサイズをBLOG詳細と同じ基準へ統一しました。

GALLERY詳細のタイトルサイズも調整し、Application詳細のタイトルサイズは既存デザインを維持しました。

固定ページ、BLOG詳細などの本文領域とタイトル周辺の幅・余白も共通構造へ整理しています。

Version 2.0.6

トップへ戻るボタンのフッター回避と表示アニメーションを再設計しました。

STABLE

全ページ共通のトップへ戻るボタンが、スマートフォン表示や高速スクロール時にフッター内部へ入り込む問題を修正しました。

補正済み座標を次回計算の基準にしない、自己参照のない衝突計算へ変更しています。

ボタン下端、フッター上端、最低間隔から実際の衝突量を算出し、フッター手前で安定して停止するようにしました。

通常位置、safe area、下部固定UI用の予約領域はCSS、フッターとの衝突量はJavaScriptが担当するよう責務を分離しました。

Visual Viewport、ResizeObserver、画面回転、BFCache復帰、Lenis、ネイティブスクロールに対応しています。

表示時は画面右外からバウンドしながら定位置へ入り、非表示時は右方向へ退場するアニメーションへ整理しました。

Version 2.0.5

SNSリンクへPatreonを追加し、フッター左側のブランド情報をテーマ設定から管理できるようにしました。

STABLE

既存のSNS共通基盤へPatreonを追加し、TOP HeroとFooterのSNS表示で共通利用できるようにしました。

Patreon URLをbrand.social.patreon_urlとして、初期値、設定スキーマ、管理画面、サニタイズ、表示定義、移行対象へ統合しました。

Patreonアイコンは、固定IDやclipPathに依存しないインラインSVGへ正規化し、他のSNSアイコンと同じcurrentColorによる色制御とホバー演出へ統一しています。

フッター左側の表示名、説明文、コピーライトを設定から変更できるようにしました。

既存の「FOLLOW US」見出しとSNS説明文もテーマ設定から管理できる構成へ整理し、既存設定が存在しない場合は従来表示を維持します

Version 2.0.4

TOP Galleryスライダーを実寸計測型へ再構成し、カード不足、重複、速度差、巻き戻りを改善しました。

STABLE

TOP Galleryスライダーの補完枚数を固定値で決める方式から、ブラウザ上で実際に計測したviewport幅、カード幅、画像比率、カード間隔を基準に算出する方式へ変更しました。

PHP側では実投稿を1件につき1回だけ出力し、表示領域を満たすための複製はJavaScript側で生成します。

テーマ側の補完カードとSplide内部のcloneを区別し、補完カードが実投稿数、アクセシビリティ上の投稿数、次回計測へ混入しないようにしました。

少数投稿でも同じカードが不自然に連続しないよう、実投稿の完全な周期単位で補完しています。

初期化後にスクロール位置が先頭へ巻き戻る問題、開始直後だけ速度が異なる問題、本番環境で先頭カードが重複する問題も改善しました。

Version 2.0.3

TOP GalleryとTOP Applicationのスライダー表示を再設計し、少数・多数投稿やレスポンシブ表示での動作を安定化しました。

STABLE

TOP Galleryでは、見出しや説明文を通常コンテナ内に維持しながら、スライダー部分だけを画面幅いっぱいへ広げるfull-bleed構造へ変更しました。

投稿件数が少ない場合でも表示領域に空白が生じないよう、実投稿と表示補完用カードを分離し、Splideによるループ表示を安定化しました。

TOP Applicationの3Dオービット表示では、停止後にカード位置がずれる問題を修正し、論理インデックスと描画インデックスを分離しました。

6枚以上のカードや奇数・偶数の両方で、角度、奥行き、重なり順、縮小率、明度が破綻しないようレイヤー分類を整理しています。

タブレット・スマートフォンでは、Grid、Stacked、Orbitのいずれを選択していても、共通のSplideスライダーへ切り替わるレスポンシブ構造にしました。

Version 2.0.2

テーマ内のメディア選択をWordPress標準UI準拠の共通基盤へ統一しました。

STABLE

テーマ設定、Gallery投稿、Application投稿、TOP Contact装飾画像、ユーザープロフィール画像など、テーマ内で個別実装されていたメディア選択処理を共通化しました。

WordPress標準メディアライブラリのLibrary stateへfilterable: allを指定し、「タイプで絞り込む」を利用できるようにしています。

画像専用、動画専用、画像・動画共用の各フィールドについて、選択完了後に許可されたメディアタイプを検証する構造へ統一しました。

複数選択時に不正な種類が混在した場合は、一部だけを登録せず選択全体を拒否し、管理者へエラーを通知します。

既存の保存値、プレビュー、削除、並べ替え、hidden inputとの同期、フロント表示は維持しています。

Version 2.0.1

WordPressメニューが未作成または破損している環境でも、ヘッダーのナビゲーションが消えないよう改善しました。

STABLE

本番移行後、primaryメニューへ無効なメニューIDが残っている場合や、メニュー自体が未作成の場合に、PC・モバイル双方のヘッダーナビゲーションが表示されなくなる問題を改善しました。

メニューの割り当てIDだけでなく、対象となるメニューtermとメニュー項目が実際に存在するかまで確認するよう判定を強化しています。

空メニュー、削除済みメニュー、移行後に残った不正なIDを検知した場合は、テーマ標準のフォールバックナビゲーションへ安全に切り替える構造にしました。

あわせて、WordPress標準更新画面へ更新内容を表示するためのdetails_url、changelog_url、upgrade_notice、last_updatedの連携と、配布ZIPの取得先を整理しました。既存のHTMLクラス、CSS、JavaScriptとの互換性は維持しています。

Version 2.0.0

旧A LEGENDの機能・設定・デザイン資産を継承しながら、構造・保守性・拡張性を全面的に再設計したA LEGEND 2の初回リリースです。

STABLE

A LEGEND 2の正式な初期バージョンとして、旧A LEGENDで運用していたコンテンツ、設定値、投稿タイプ、演出、デザイン思想を引き継ぎながら、WordPressテーマ全体の構造を再設計しました。

管理画面設定、フロント表示、CSS、JavaScript、カスタム投稿タイプ、移行処理、セキュリティ、更新配布機構を機能単位に分離し、将来的な改修時に影響範囲を限定しやすい構成へ整理しています。

主な初期機能として、NEWS、BLOG、GALLERY、APPLICATION、固定ページ、CONTACTの各表示、TOPページのHero・About・News・Gallery・Application・Blog・Contactセクション、レスポンシブナビゲーション、SNSリンク、ローダー、Adult Gate、Lightbox、パンくず、関連記事、前後ナビゲーションなどを統合しました。

旧テーマの設定値や投稿データを可能な限り再利用できるよう、互換参照と移行処理を備えています。

Version 1.1.6

Link Card機能をテーマ本体から削除

STABLE

Link Card機能をテーマ本体から削除し、Link Card Embedプラグイン側で管理する構成へ整理しました。テーマ側では旧linkcard関連の読み込みを行わず、テーマ本体の責務を表示・投稿タイプ・設定管理へ集約しています。

Version 1.1.5

スラッグ自動生成

STABLE

□スラッグの自動生成を追加
□ダッシュボードにBLOG,GALLERYのアクセスランキングを追加

Version 1.1.4

パーマリンク変更対応

STABLE

□パーマリンクを変更した際に表示されない現象を改善。

Version 1.1.3

バグ修正

STABLE

■application詳細ページの変更履歴で改行されないことに対応

Version 1.1.2

微調整の実施

STABLE

☑BLOG詳細の関連記事のカードの統一化
☑indexのBLOGセクションのカードの統一化

Version 1.1.1

Application詳細のヒーロー画像に動画対応を追加

STABLE

Application詳細のヒーロー画像に動画対応を追加

Version 1.1.0

不足機能の追加完了リリース

STABLE

不足機能の追加完了リリース

Version 1.0.26

Contactページ実装

STABLE

☑Contactページの実装

Version 1.0.25

Galleryセクションの調整

STABLE BREAKING

Galleryセクションの調整

Version 1.0.24

index.phpの設定化

STABLE

☑index.phpの設定化
  BLOGセクション/CONTACTセクションの設定化

Version 1.0.23

indexの設定化

STABLE

☑indexの設定化
  index.phpの各セクションを設定化

Version 1.0.22

パスワード保護記事の対応

STABLE

☑パスワード保護記事の対応

Version 1.0.20

favicon追加

STABLE

☑favicon追加
  設定画面で項目を追加し、登録できるように実施

Version 1.0.19

ヒーロー画像を設定化

STABLE

☑ヒーロー画像を設定化
  管理画面にテーマ設定項目を追加。

Version 1.0.18

NEW詳細にシェアボタンを追加

STABLE

☑NEWS詳細画面
  Xのシェアボタンを追加

Version 1.0.17

LinkCardブロック追加

STABLE

☑管理画面
  LinkCardブロック追加

Version 1.0.16

Gallery詳細修正

STABLE

☑Gallery詳細ページ
  画像にタイトル・キャプションを表示

Version 1.0.15

Gallery関係修正

STABLE

☑GalleryにXシェアポストボタンを追加

Version 1.0.14

アダルトチェックを追加

STABLE

☑BLOG/GALLERY/APPLICATION詳細画面
  アダルトチェックを追加
☑BLOG一覧
  閲覧数を追加

Version 1.0.13

関連記事の修正

STABLE

☑BLOG詳細/Gallery詳細
  関連記事のスワイプを調整

Version 1.0.12

外部URL埋め込みバグ修正

STABLE

☑BLOG詳細
 外部URL埋め込み表示がされないバグ修正

Version 1.0.10

関連記事をランダム表示、スワイプ対応

STABLE

☑BLOG/Gallery詳細
  関連記事をランダム表示、スワイプ対応
☑lightbox
  SP時の画像表示位置を調整

Version 1.0.9

ローダーのデザインを変更

STABLE

☑トップ
  ローダーのデザインを変更

Version 1.0.8

投稿画面微調整

STABLE
web

☑投稿画面
 フォントを表示画面と同等に変更

Version 1.0.7

画像拡大処理(lightbox)を共通化

STABLE

☑BLOG詳細/GALLERY詳細
 画像拡大処理(lightbox)を共通化
☑フッター
 TOPに戻るボタンをスマートフォン表示時に真ん中に出るように変更

Version 1.0.6

閲覧数の追加など

STABLE BREAKING

☑BLOG/GALLERY詳細
 ・閲覧数の追加
 ・外部URL読込のカード表示対応

Version 1.0.5

トップ画面の改修実施

STABLE BREAKING

☑トップ画面
 ・ABOUTセクション:ScrollTriggerをやめてScroll-Driven Animationsのみでスクロール制御を実施

Version 1.0.4

STABLE

☑ Gallery
 ・Gallery詳細ページの画像拡大機能追加
 ・Galleryにタグを追加
 ・Galleryのタグ検索を追加
☑ Blog
・Blog詳細ページの画像拡大機能追加
・Blogのタグ検索を追加
☑ Application
・Application一覧のURLアイコンを変更
・Applicationのタグ検索を追加

Version 1.0.0

新規リリース

STABLE
web

テーマを公開