レシートテンプレート
レシートテンプレートエディタを使用すると、POSシステムから印刷されたレシートの外観と内容をカスタマイズできます。テンプレートエディタには、次の場所に移動することでアクセスできます: WP Admin > POS > Templates
概要
テンプレートシステムは、2種類のテンプレートを提供します。
- デフォルトテンプレート: プラグインおよびテーマファイルから自動的に検出されます。これらは削除できませんが、カスタムバージョンを作成するためにコピーできます。
- カスタムテンプレート: ユーザーが作成したテンプレートで、完全にカスタマイズ、編集、管理できます。
テンプレートエディタへのアクセス
- WordPress管理ダッシュボードに移動します。
- POS > Templatesに進みます。
- 利用可能なテンプレートのリストが2つのセクションに整理されて表示されます:
- デフォルトテンプレート(プラグイン/テーマファイルから)
- カスタムテンプレート(あなたのカスタム作成物)
デフォルトテンプレート
システムは、3つのソースからレシートテンプレートを自動的に検出します。
テンプレートソース
| ソース | 説明 | ステータス |
|---|---|---|
| プラグイン | WCPOSに含まれるコアレシートテンプレート | 常に利用可能 |
| プロプラグイン | WCPOS Proからの強化されたテンプレート | アクティブライセンスで利用可能 |
| テーマ | アクティブテーマからのカスタムテンプレート | テーマにテンプレートが含まれている場合に利用可能 |
テンプレートアクション
各デフォルトテンプレートに対して、次の操作が可能です。
- プレビュー: テンプレートがサンプルデータでどのように見えるかを表示
- コピー: 編集可能なカスタムコピーを作成
- アクティブ化: POSのアクティブテンプレートとして設定
カスタムテンプレートの作成
方法 1: デフォルトテンプレートからコピー
- デフォルトテンプレートセクションで、カスタマイズしたいテンプレートを見つけます。
- コピーボタンをクリックします。
- カスタムテンプレートの名前を入力します。
- テンプレートをコピーをクリックします。
- 新しく作成されたカスタムテンプレートを編集します。
方法 2: ゼロから作成
- ページの上部で新しいテンプレートを追加をクリックします。
- テンプレート名を入力します。
- テンプレートタイプとしてレシートを選択します。
- エディタでテンプレートのコーディングを開始します。
テンプレートエディタの機能
テンプレートエディタは次の機能を提供します。
コードエディタ
- 構文ハイライト: より良いコードの可読性のためにPHP構文ハイライトを提供
- 行番号: 簡単なナビゲーションとデバッグ
- 全画面編集: 気が散らない編集環境
テンプレート設定パネル
- 言語: 適切な構文ハイライトのためにPHPに設定
- テンプレートタイプ: レシートまたはレポートテンプレートのいずれかを選択
- ステータス: 公開/ドラフトステータスの管理
- 表示: テンプレートの表示を制御
テンプレートアクション
- プレビュー: サンプルデータでテンプレートがどのようにレンダリングされるかを見る
- アクティブとして設定: このテンプレートをPOSのデフォルトにする
- 更新: 変更を保存
- ゴミ箱に移動: カスタムテンプレートを削除
テンプレート構造
レシートテンプレートはHTML出力を生成するPHPファイルです。基本的な構造は以下の通りです。
<?php
/**
* Custom Receipt Template
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
/* Your custom CSS styles */
body { font-family: sans-serif; font-size: 14px; }
.receipt-header { text-align: center; margin-bottom: 20px; }
/* Add more styles as needed */
</style>
</head>
<body>
<!-- Your receipt content -->
<div class="receipt-header">
<h1><?php echo get_bloginfo( 'name' ); ?></h1>
<p><?php echo get_bloginfo( 'description' ); ?></p>
</div>
<!-- Order details, items, totals, etc. -->
</body>
</html>
利用可能なテンプレート変数
カスタムテンプレートを作成する際、さまざまなWordPressおよびWooCommerce関数とデータにアクセスできます。
店舗情報
get_bloginfo( 'name' )- 店舗名get_bloginfo( 'description' )- 店舗のキャッチフレーズget_bloginfo( 'url' )- 店舗のURL
注文データ
現在の注文データは、テンプレートがレンダリングされるときに標準のWooCommerce注文関数を通じて利用可能です。
WCPOS関数
POS関連のデータと機能にアクセスするために、WCPOS固有の関数(wcpos_でプレフィックスされた)を使用できます。
ベストプラクティス
テンプレート開発
- コピーから始める: ゼロから作成するのではなく、常にデフォルトテンプレートをコピーして開始します。
- 徹底的にテスト: アクティブ化する前にプレビュー機能を使用してテンプレートをテストします。
- バックアップを保つ: カスタムテンプレートをエクスポートするか、コードのコピーを保持します。
- モバイル対応: テンプレートがさまざまな画面サイズでうまく動作することを確認します。
コード品質
- HTMLを検証: HTMLが適切に構成されていることを確認します。
- 出力をエスケープ: セキュリティのためにWordPressのエスケープ関数を使用します。
- エラーハンドリング: PHPコードに適切なエラーチェックを含めます。
- コメント: 将来の参考のためにカスタマイズを文書化します。
パフォーマンス
- CSSを最適化: スタイルを簡潔で効率的に保ちます。
- PHPを最小限に抑える: テンプレート内に複雑なロジックを避けます。
- 印刷テスト: テンプレートがレシートプリンターでうまく機能することを確認します。
トラブルシューティング
一般的な問題
テンプレートで変更が表示されない
- 変更を保存するために「更新」をクリックしたことを確認してください。
- テンプレートが「アクティブ」に設定されていることを確認してください。
- キャッシングプラグインをクリアします。
構文エラー
- 構文ハイライトを使用して問題を特定します。
- セミコロン、括弧、または引用符が不足していないか確認してください。
- PHP構文を検証します。
スタイリングの問題
- プレビューモードでCSSをテストします。
- スタイルがレシートプリンターと互換性があることを確認します。
- 印刷に適したデザイン原則を考慮します。
テンプレートが利用できない
- テンプレートタイプが「レシート」に設定されていることを確認します。
- テンプレートのステータスが「公開」であることを確認します。
- 適切な権限があることを確認します。
ヘルプを得る
テンプレートカスタマイズに関して問題が発生した場合:
- テンプレートプレビューでエラーメッセージを確認します。
- PHPエラーのためにWordPressデバッグログを確認します。
- 最初にデフォルトテンプレートのコピーでテストします。
- AIサポート: Gemini、ChatGPT、およびClaudeなどの最新のAIツールは、これらのシンプルなWordPressテンプレートに非常に役立ちます。テンプレートコードを貼り付けて、達成したいことを説明できます。
- 高度なカスタマイズについては、WCPOSドキュメントを参照してください。
高度なカスタマイズ
レシートテンプレートに対してより多くの制御が必要な高度なユーザー向け:
テーマ統合
カスタムreceipt.phpファイルをテーマ内に配置することで、デフォルトテンプレートをオーバーライドできます。
your-theme/woocommerce-pos/receipt.php
フックとフィルター
WCPOSは、テンプレートのカスタマイズのためにさまざまなフックとフィルターを提供します。利用可能なオプションについては、開発者ドキュメントを参照してください。
カスタムフィールド
適切なWordPressおよびWooCommerce関数を使用して、レシートテンプレートにカスタム注文フィールド、製品属性、およびその他のメタデータを含めることができます。