テーマ統合
SportsPress は the_content フィルター経由でコンテンツを追加することで、ほとんどの WordPress テーマと統合されます。プラグインは動作するためにカスタムページテンプレートを必要としませんが、完全なレイアウト制御のためにサポートしています。追加のプラグイン領域は、定義済みのアクションフックとフィルターフックで拡張できます。
テンプレート上書きの階層
SportsPress がテンプレートを読み込む際、以下の場所を順番に確認します:
{theme}/sportspress/single-{post-type}.php— アクティブなテーマ内の投稿タイプ固有のテンプレート{theme}/sportspress/sportspress.php— すべての SP 投稿タイプ向けの汎用 SportsPress テンプレート{theme}/sportspress/taxonomy-venue.php— 会場アーカイブテンプレートincludes/sportspress/templates/のプラグインのデフォルトテンプレート
テーマ内で一致するものが見つかった場合、プラグインのデフォルトの代わりにそれが使用されます。これにより、テーマの作者はプラグインファイルを変更せずに SportsPress のテンプレートを完全に上書きできます。
カスタムページテンプレートの作成
汎用テンプレート
テーマの page.php を複製して sportspress.php という名前に変更することで、すべての SportsPress 投稿タイプに適用される単一のテンプレートを作成します:
wp-content/themes/YOURTHEME/sportspress.php
投稿タイプ固有のテンプレート
投稿タイプごとに個別のレイアウトを作成するには、テーマのルートディレクトリに sportspress/ フォルダーを作成し、関連するファイルを追加します:
ファイル | 投稿タイプ |
| 試合 |
| カレンダー |
| チーム |
| リーグテーブル |
| 選手 |
| 選手リスト |
| スタッフ |
| スタッフ名鑑 |
| スポンサー |
| 会場アーカイブ |
パスの例:
wp-content/themes/YOURTHEME/sportspress/single-team.php
テーマサポートの宣言
SportsPress 向けに構築されたテーマは、「テーマが SportsPress サポートを宣言していません」という管理通知を表示しないように、サポートを宣言する必要があります。テーマの functions.php に以下を追加してください:
add_theme_support( 'sportspress' );
この宣言はプラグインの動作を変更しません — テーマユーザーに表示される通知を削除するだけです。
コンテンツ注入の優先度
SportsPress はデフォルトの優先度 10 で投稿コンテンツにテンプレートを注入します。優先度はフィルターフックを使用して投稿タイプごとに調整できます:
// チームページの優先度を変更する
add_filter( 'sportspress_team_content_priority', function( $priority ) {
return 20;
});フィルター名のパターンは sportspress_{post_type}_content_priority で、{post_type} は event、calendar、team、table、player、list、staff のいずれかです。
テーマパートナーシップ
ThemeBoy は SportsPress 対応テーマを販売する開発者向けのパートナープログラムを提供しており、紹介ごとに 30% のコミッションを提供しています。詳細は https://www.themeboy.com/partners/ をご覧ください。
SportsPress 対応の既製テーマも https://www.themeboy.com/themes/ で入手できます。
