SWELLの投稿タイプ「LP」で独自のPHPテンプレートを選ぶには、テンプレートファイルに Template Post Type: lp を指定します。WordPress標準のテンプレート機能を使うため、独自の保存処理をfunctions.phpに追加する必要はありません。
子テーマにLP用テンプレートを置く
有効なSWELL子テーマの直下に template-waza-lp.php を作り、次の内容を保存してください。これはファイル全体のコードです。functions.phpやCode Snippetsには貼り付けません。親テーマのファイルは変更しません。
<?php
/**
* Template Name: WAZA LPサンプル
* Template Post Type: lp
*/
if ( ! defined( 'ABSPATH' ) ) { exit; }
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<main id="waza-lp" style="max-width:60rem;margin:auto;padding:1.5rem;overflow-wrap:anywhere">
<?php while ( have_posts() ) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<div class="post_content"><?php the_content(); wp_link_pages(); ?></div>
<?php endwhile; ?>
</main>
<?php wp_footer(); ?>
</body>
</html>この最小構成はLPのタイトルと本文を表示し、本文を「ページ区切り」で分割した場合は番号リンクも表示します。分割していない本文には番号リンクを出しません。wp_head・wp_body_open・wp_footerも呼び出します。通常のヘッダー・フッターやSWELL標準LPの各表示設定を自動で再現するテンプレートではありません。必要なデザインはこのファイルに実装してください。
LPの編集画面で選択する
LPの編集画面を開き直し、投稿設定のテンプレートから「WAZA LPサンプル」を選択して保存します。LPメニュー自体がない場合は、SWELLでLP機能を無効にしていないか確認してください。固定ページ用ではないため、固定ページのテンプレート一覧には出ません。
テンプレート欄の位置はエディターの版で異なります。候補が出ない場合は、有効な子テーマの場所、ファイルの拡張子、先頭のTemplate NameとTemplate Post Typeを確認します。
旧コードからの移行と戻し方
以前の本記事にあった add_lp_template_meta_box・save_lp_template_meta_box・apply_lp_template と、それらのadd_action・add_filterを削除してから切り替えてください。旧保存処理にはnonce・権限・投稿タイプ・候補ファイルの検証がなく、そのまま再利用しません。変更前にファイルとデータベースをバックアップします。
戻すときは、対象LPのテンプレートを「デフォルト」に戻して保存し、表示を確認してから不要なテンプレートファイルを取り除きます。ファイルを先に消すと意図しない標準表示に切り替わることがあります。
LPテンプレートを保存して分割本文を開く
検証環境のSWELL子テーマへ掲載コードを置き、LPの編集画面でテンプレートの選択肢から「WAZA LPサンプル」を選びました。保存通知を確認して編集画面を開き直したところ、選択したテンプレートが保持されています。画面の版によっては、テンプレートのオプションを開くと選択欄が表示されます。
本文にページ区切りを入れたLPを公開表示し、PC幅1280pxで1ページ目の本文と番号を確認しました。スマホ幅390pxでは番号「2」をEnterで開くと2ページ目の本文になり、「1」から元の本文へ戻れました。別の検証LPの本文とテンプレート指定が変更されていないことも確認しています。
番号だけを確認せず、各ページの本文が切り替わることまで比べてください。保存したのに通常のLP表示になる場合は、選択欄の値と、有効な子テーマにあるtemplate-waza-lp.phpを確認します。これは標準LPのデザイン設定をすべて引き継ぐ例ではありません。フォームや外部サービスを本文へ追加した場合は、その機能を別に検証してください。

公開前に確認すること
プレビューでタイトル・本文・画像・リンクを確認し、PCとスマホで横はみ出しがないか、Tabでリンクやフォームへ移動できるか確認します。本文を分割したLPでは、番号リンクのEnter操作で2ページ目を表示し、1ページ目へ戻れることも確認します。テンプレート変更の対象は選択したLPです。他のLPがデフォルトのままであることも確認してください。
仕様の根拠:WordPress公式の投稿タイプ別テンプレート。本記事の旧スクリーンショットは独自選択欄のため、今回の標準機能の手順から外しました。



