こんにちは、あんちゃんです! 今日は、WordPressサイトでゲームを運営しているあなたにぴったりの方法をご紹介します。ユーザーのスコアを簡単かつ安全に記録して、サイト上にかわいく表示する方法をステップバイステップでお伝えしますね。準備が整ったら、一緒に始めましょう!
サーバー側の準備
まずはサーバー側の準備から始めましょう。スコアを保存するためのファイルとPHPスクリプトを作成して、適切に配置することが大切です。
スコア保存用のテキストファイルを作成して配置しよう
ファイルの作成方法:
- お使いのパソコンでテキストエディタ(例えば、Notepad++やVSCode)を開いてください。
- 新しい空のファイルを作成し、
scores.txt
という名前で保存します。 - ファイルの中身は空のままで大丈夫です。
ファイルのアップロード方法:
- FTPクライアント(例えば、FileZilla)やcPanelのファイルマネージャーを使って、
scores.txt
をWordPressがインストールされているディレクトリ(通常はpublic_html
やwww
)にアップロードします。 - 同じディレクトリに
submit_score.php
とget_scores.php
も配置すると、ファイルのパスが簡単になりますよ!
スコアを送信するPHPスクリプトを作成して配置しよう
スクリプトの作成手順:
- テキストエディタを開いて、新しいファイルを作成します。
- 以下のコードをコピーして貼り付けてください。
<?php
// submit_score.php
// エラーログを有効にします
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');
// CORSヘッダーを設定します
header("Access-Control-Allow-Origin: https://yourdomain.com"); // あなたのドメインに変更してください
header("Content-Type: application/json; charset=UTF-8");
// POSTメソッドのみ許可します
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
http_response_code(405);
echo json_encode(['status' => 'error', 'message' => 'Method Not Allowed']);
exit;
}
// 入力データを取得します
$input = json_decode(file_get_contents('php://input'), true);
if (!isset($input['name']) || !isset($input['score'])) {
http_response_code(400);
echo json_encode(['status' => 'error', 'message' => 'Invalid Input']);
exit;
}
// 入力データをサニタイズします
$name = substr(trim(strip_tags($input['name'])), 0, 5); // 5文字以内に制限
$score = intval($input['score']);
if (empty($name) || $score < 0) {
http_response_code(400);
echo json_encode(['status' => 'error', 'message' => 'Invalid Name or Score']);
exit;
}
// スコアデータを整形します
$timestamp = date('Y-m-d H:i:s');
$score_entry = "{$name},{$score},{$timestamp}\n";
// スコアファイルに書き込みます
$file = 'scores.txt'; // scores.txtが同じディレクトリにあることを確認してください
if (file_put_contents($file, $score_entry, FILE_APPEND | LOCK_EX) === false) {
http_response_code(500);
echo json_encode(['status' => 'error', 'message' => 'Failed to write to file']);
exit;
}
// 成功レスポンスを返します
echo json_encode(['status' => 'success', 'message' => 'Score submitted successfully']);
?>
ファイルの保存とアップロード:
- ファイルを
submit_score.php
という名前で保存します。 - FTPクライアントやcPanelのファイルマネージャーを使って、
submit_score.php
をWordPressがインストールされているディレクトリにアップロードします。
スコアを取得するPHPスクリプトを作成して配置しよう
スクリプトの作成手順:
- 新しいファイルを作成し、以下のコードをコピーして貼り付けます。
<?php
// get_scores.php
// エラーログを有効にします
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');
// CORSヘッダーを設定します
header("Access-Control-Allow-Origin: https://yourdomain.com"); // あなたのドメインに変更してください
header("Content-Type: application/json; charset=UTF-8");
// GETメソッドのみ許可します
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
http_response_code(405);
echo json_encode(['status' => 'error', 'message' => 'Method Not Allowed']);
exit;
}
// スコアファイルを読み込みます
$file = 'scores.txt';
if (!file_exists($file)) {
echo json_encode([]);
exit;
}
$scores = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$score_list = [];
foreach ($scores as $line) {
list($name, $score, $timestamp) = explode(',', $line);
$score_list[] = [
'name' => htmlspecialchars($name, ENT_QUOTES, 'UTF-8'),
'score' => intval($score),
'timestamp' => $timestamp
];
}
// スコアを降順にソートします
usort($score_list, function($a, $b) {
return $b['score'] - $a['score'];
});
// トップ10を取得します
$top10 = array_slice($score_list, 0, 10);
echo json_encode($top10);
?>
ファイルの保存とアップロード:
- ファイルを
get_scores.php
という名前で保存します。 - 同じく、FTPクライアントやcPanelのファイルマネージャーを使って、
get_scores.php
をWordPressディレクトリにアップロードします。
ファイルのパーミッション設定
scores.txtのパーミッション設定:
- FTPクライアントやcPanelのファイルマネージャーを使って、
scores.txt
のパーミッションを設定します。 - 推奨パーミッション:
664
- 説明: オーナーとグループに読み書き権限を与え、その他のユーザーに読み取り権限を与えます。
- 設定方法(cPanelの場合):
scores.txt
を選択し、右クリックして「パーミッションを変更」または「パーミッション編集」を選びます。- 数字を
664
に設定して保存します。
submit_score.phpとget_scores.phpのパーミッション設定:
- PHPファイルは通常、
644
のパーミッションで問題ありません。 - ファイルを選択し、右クリックして「パーミッションを変更」または「パーミッション編集」を選びます。
- 数字を
644
に設定して保存します。
セキュリティ対策
CORS(クロスオリジンリソースシェアリング)の設定:
submit_score.php
とget_scores.php
内のAccess-Control-Allow-Origin
ヘッダーを、あなたのWordPressサイトのドメインに設定しましょう。- 例:
header("Access-Control-Allow-Origin: https://yourdomain.com");
- 注意:
*
を使用すると、全てのドメインからのリクエストを許可してしまうため、セキュリティリスクが高まります。必ず自分のドメインを指定してくださいね。
データのサニタイズとバリデーション:
- サーバー側のPHPスクリプトでは、常に入力データをサニタイズし、バリデーションを行います。
- 名前はHTMLタグを除去し、5文字以内に制限します。
- スコアは整数値に変換し、負の値を許可しません。
- 入力が有効でない場合は、エラーレスポンスを返します。
HTTPSの使用:
- WordPressサイトがHTTPSを使用していることを確認しましょう。これにより、クライアントとサーバー間の通信が暗号化され、データの盗聴や改ざんを防ぎます。
- 確認方法:
- WordPressダッシュボードから「設定」 > 「一般」に移動します。
- 「WordPressアドレス(URL)」と「サイトアドレス(URL)」が
https://
で始まっていることを確認します。 - 多くのレンタルサーバーでは、無料のLet’s Encrypt証明書を提供しているので、必要に応じて有効化してくださいね。
クライアント側(ゲームのHTML/JavaScript)の設定
次に、ゲームのHTML/JavaScriptコードにスコア送信および取得機能を実装します。これで、ユーザーがゲームをプレイした後にスコアを記録し、トップスコアを表示できるようになります。
スコア送信機能の実装
sendScore関数を追加しましょう:
ゲームのJavaScriptコード内に、スコアを送信する関数を追加します。
// スコアを送信する関数
function sendScore(name, score) {
fetch('https://yourdomain.com/submit_score.php', { // submit_score.phpのURLに変更してください
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ name: name, score: score })
})
.then(response => response.json())
.then(data => {
if (data.status === 'success') {
console.log('スコアが正常に保存されました');
displayTopScores(); // トップスコアを更新します
} else {
console.error('スコア保存エラー:', data.message);
alert("スコアの保存に失敗しました。後ほど再度お試しください。");
}
})
.catch(error => {
console.error('エラー:', error);
alert("スコアの保存に失敗しました。後ほど再度お試しください。");
});
}
ゲームオーバー時の処理を修正しましょう:
ゲームオーバー時にユーザーから名前を入力させ、そのスコアを送信するように修正します。
// ゲームオーバー時の処理を修正
function displayGameOver(score) {
const playerName = prompt("スコアを記録してください(5文字以内):");
if (playerName && playerName.trim().length > 0 && playerName.length <= 5) {
sendScore(playerName.trim(), score);
} else {
alert("名前は1~5文字で入力してください。");
}
// 既存のゲームオーバー表示
const finalScoreElement = document.getElementById("finalScore");
finalScoreElement.innerText = `GAME OVER\nSCORE: ${score}`;
finalScoreElement.style.display = "block";
}
トップスコア取得・表示機能の実装
displayTopScores関数を追加しましょう:
トップスコアを取得して画面に表示するための関数を追加します。
// トップスコアを取得して表示する関数
function displayTopScores() {
fetch('https://yourdomain.com/get_scores.php') // get_scores.phpのURLに変更してください
.then(response => response.json())
.then(data => {
const scoreList = document.getElementById("scoreList");
scoreList.innerHTML = ""; // 既存のリストをクリアします
if (data.length === 0) {
const li = document.createElement("li");
li.textContent = "スコアがまだありません。";
scoreList.appendChild(li);
return;
}
data.forEach((entry) => {
const li = document.createElement("li");
li.textContent = `${entry.name}: ${entry.score}`;
scoreList.appendChild(li);
});
})
.catch(error => {
console.error('スコア取得エラー:', error);
alert("トップスコアの取得に失敗しました。後ほど再度お試しください。");
});
}
トップスコアの表示タイミングを設定しましょう:
ゲーム開始時やスコア送信後にdisplayTopScores
関数を呼び出して、最新のトップスコアを表示します。
// ゲーム開始時やスコア送信後にトップスコアを更新します
function startGame() {
// 既存のゲーム開始処理...
displayTopScores(); // ゲーム開始時にトップスコアを更新します
}
document.addEventListener("DOMContentLoaded", (event) => {
displayTopScores(); // ゲーム読み込み時にトップスコアを表示します
});
WordPress内でのスコア表示
WordPressの記事やページ内でスコアを表示するために、ショートコードを作成しましょう。これで、簡単にスコアリーダーボードを表示できるようになりますよ!
ショートコードの作成
functions.phpファイルを編集しましょう:
- WordPressテーマの
functions.php
ファイルを開きます。 - 以下のコードを追加します。
// functions.php
function display_leaderboard_shortcode() {
// トップスコアを取得するためのJavaScript関数を呼び出します
ob_start();
?>
<div id="leaderboard">
<h3>トップ10スコア</h3>
<ol id="leaderboardList">
<!-- スコアがここに挿入されます -->
</ol>
</div>
<script>
function fetchLeaderboard() {
fetch('https://yourdomain.com/get_scores.php') // get_scores.phpのURLに変更してください
.then(response => response.json())
.then(data => {
const leaderboardList = document.getElementById("leaderboardList");
leaderboardList.innerHTML = ""; // 既存のリストをクリアします
if (data.length === 0) {
const li = document.createElement("li");
li.textContent = "スコアがまだありません。";
leaderboardList.appendChild(li);
return;
}
data.forEach((entry) => {
const li = document.createElement("li");
li.textContent = `${entry.name}: ${entry.score}`;
leaderboardList.appendChild(li);
});
})
.catch(error => {
console.error('スコア取得エラー:', error);
alert("トップスコアの取得に失敗しました。後ほど再度お試しください。");
});
}
// ページ読み込み時にトップスコアを取得します
document.addEventListener("DOMContentLoaded", (event) => {
fetchLeaderboard();
});
</script>
<?php
return ob_get_clean();
}
add_shortcode('leaderboard', 'display_leaderboard_shortcode');
コードの説明:
display_leaderboard_shortcode
関数は、トップ10スコアを表示するHTMLとJavaScriptコードを生成します。- ショートコード
[leaderboard]
を使用することで、任意のページや投稿にリーダーボードを挿入できます。
ショートコードの使用方法
新しいページや投稿を作成しましょう:
- WordPressダッシュボードから「ページ」 > 「新規追加」または「投稿」 > 「新規追加」に移動します。
- タイトルを入力し、コンテンツエディター内に
[leaderboard]
と入力します。 - ページを公開し、実際にトップスコアが表示されているか確認します。
- 必要に応じてスタイルを調整し、デザインに統一感を持たせましょう。
セキュリティの詳細
スコアの送信と取得に関わるセキュリティ対策はとても大切です。以下に詳細な対策をご紹介しますね。
CORS設定
目的:
異なるドメインやサブドメインからの不正なアクセスを防ぎ、信頼できるドメインからのみリクエストを許可します。
設定方法:
submit_score.php
とget_scores.php
の両方において、Access-Control-Allow-Origin
ヘッダーを設定します。
header("Access-Control-Allow-Origin: https://yourdomain.com");
- 注意: ワイルドカード(
*
)を使用すると、全てのドメインからのリクエストを許可してしまうため、セキュリティリスクが高まります。必ず自分のドメインを指定してくださいね。
データのサニタイズとバリデーション
目的:
ユーザーからの入力データを安全に処理し、不正なデータや悪意のあるコードの注入を防ぎます。
実施方法:
- PHPスクリプト内で、
strip_tags()
を使用してHTMLタグを除去します。 trim()
で前後の空白を削除します。substr()
で文字数を制限(例:5文字以内)。intval()
を使用してスコアを整数値に変換します。- 入力が有効かどうかをチェックし、不正なデータの場合はエラーレスポンスを返します。
HTTPSの使用
目的:
クライアントとサーバー間の通信を暗号化し、データの盗聴や改ざんを防ぎます。
実施方法:
- WordPressサイトがSSL証明書を使用していることを確認します。多くのレンタルサーバーでは、無料のLet’s Encrypt証明書を提供しています。
- WordPressダッシュボードから「設定」 > 「一般」に移動し、
WordPressアドレス(URL)
とサイトアドレス(URL)
がhttps://
で始まっていることを確認します。
デバッグ方法
実装中に問題が発生した場合、以下の方法で問題を特定し、解決しましょう。
PHPエラーログの確認
エラーログの有効化:
submit_score.php
とget_scores.php
に以下のコードを追加して、エラーログを有効化します。
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', 'error.log'); // エラーログファイル名
error.log
ファイルを作成し、同じディレクトリに配置します。- ファイルのパーミッションを
644
に設定し、ウェブサーバーが書き込み可能であることを確認します。
エラーログファイルの確認:
- PHPスクリプトを実行した後、
error.log
ファイルを確認して、エラーメッセージが出力されていないかチェックします。 - FTPクライアントやcPanelのファイルマネージャーを使用して、
error.log
ファイルを確認します。 - エラーメッセージが記録されている場合は、コードの修正が必要です。
ブラウザの開発者ツールの活用
開発者ツールの起動方法:
- Windows/Linux:
F12
キーまたはCtrl + Shift + I
- macOS:
Cmd + Option + I
Consoleタブの確認:
- JavaScriptエラーや警告が出ていないか確認します。
fetch
リクエストに関連するエラー(CORSエラー、ネットワークエラーなど)をチェックします。
Networkタブの確認:
submit_score.php
とget_scores.php
へのリクエストが正しく送信され、期待通りのレスポンスが返ってきているか確認します。- リクエストのステータスコードが
200 OK
であることを確認します。 - レスポンス内容が正しいJSON形式であることを確認します。
補足情報
パフォーマンスの考慮
現状:.txt
ファイルを使用してスコアを保存・取得していますが、スコアが増加するとファイルのサイズが大きくなり、読み書きが遅くなる可能性があります。
対策:
- トップ10のみの読み込み:
get_scores.php
ではトップ10のみを取得しているため、パフォーマンスへの影響は限定的です。
- キャッシュの導入:
- サーバー側でキャッシュを利用し、頻繁なファイルアクセスを減らします。例えば、
scores.txt
の内容をメモリに保持する方法があります。
- データベースへの移行:
- 将来的にスコアデータが大量になる場合、MySQLなどのデータベースを使用してスコアを管理することを検討します。これにより、パフォーマンスとデータ管理が向上します。
バックアップの重要性
目的:scores.txt
ファイルが破損したり、誤って削除された場合に備えて、定期的なバックアップを行います。
方法:
- 手動バックアップ:
- 定期的に
scores.txt
をダウンロードして保存します。
- 自動バックアップ:
- スクリプトやサーバーの機能を利用して、自動的にバックアップを取得します。多くのレンタルサーバーでは、バックアップ機能が提供されています。
まとめ
WordPressサイトでゲームのスコアを記録・表示する方法について、サーバー側の準備からクライアント側の設定、そしてWordPress内での表示方法まで詳しくご紹介しました。以下に手順の流れをもう一度まとめますね。
手順の流れ
- サーバー側の準備:
scores.txt
ファイルの作成と配置。submit_score.php
とget_scores.php
の作成と配置。- ファイルのパーミッション設定。
- CORS設定とセキュリティ対策の実施。
- クライアント側の設定:
- ゲームのJavaScriptコードにスコア送信機能とトップスコア取得・表示機能を実装。
- WordPress内でのスコア表示:
- ショートコードを作成し、ページや投稿内にリーダーボードを表示。
- セキュリティとパフォーマンスの維持:
- データのサニタイズとバリデーションを徹底。
- ファイルのパーミッションを最小限に設定。
- HTTPSを使用し、通信の安全性を確保。
- 定期的にバックアップを取得し、データの保護を行う。
- デバッグとメンテナンス:
- PHPエラーログとブラウザの開発者ツールを活用して問題を特定・解決。
- ファイルやスクリプトの更新時には、再度テストを実施。
利点
- シンプルさ:
- 専用プラグインを使用せず、最低限のPHPスクリプトとファイル操作でスコア管理が可能です。
- コスト効率:
- 追加のプラグイン購入や高度なサーバー設定が不要で、無料で始められます。
- 柔軟性:
- 必要に応じてPHPスクリプトやフロントエンドのJavaScriptコードをカスタマイズできます。
注意点
- セキュリティ:
- スコアデータの送受信には十分なセキュリティ対策が必要です。特にCORS設定やデータのサニタイズは徹底しましょう。
- パーミッション設定:
- 不適切なファイルパーミッションはセキュリティリスクを高めます。最低限必要な権限に設定することが重要です。
- データの増加:
- スコアデータが増加すると、
.txt
ファイルの読み書きが遅くなる可能性があります。適宜、データベースへの移行を検討してください。
具体的な実装例
以下に、実際のファイル構成とコードの例をもう一度ご紹介しますね。
ファイル構成例
public_html/
├── submit_score.php
├── get_scores.php
└── scores.txt
submit_score.phpのコード例
<?php
// submit_score.php
// エラーログを有効にします
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');
// CORSヘッダーを設定します
header("Access-Control-Allow-Origin: https://yourdomain.com"); // あなたのドメインに変更してください
header("Content-Type: application/json; charset=UTF-8");
// POSTメソッドのみ許可します
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
http_response_code(405);
echo json_encode(['status' => 'error', 'message' => 'Method Not Allowed']);
exit;
}
// 入力データを取得します
$input = json_decode(file_get_contents('php://input'), true);
if (!isset($input['name']) || !isset($input['score'])) {
http_response_code(400);
echo json_encode(['status' => 'error', 'message' => 'Invalid Input']);
exit;
}
// 入力データをサニタイズします
$name = substr(trim(strip_tags($input['name'])), 0, 5); // 5文字以内に制限
$score = intval($input['score']);
if (empty($name) || $score < 0) {
http_response_code(400);
echo json_encode(['status' => 'error', 'message' => 'Invalid Name or Score']);
exit;
}
// スコアデータを整形します
$timestamp = date('Y-m-d H:i:s');
$score_entry = "{$name},{$score},{$timestamp}\n";
// スコアファイルに書き込みます
$file = 'scores.txt'; // scores.txtが同じディレクトリにあることを確認してください
if (file_put_contents($file, $score_entry, FILE_APPEND | LOCK_EX) === false) {
http_response_code(500);
echo json_encode(['status' => 'error', 'message' => 'Failed to write to file']);
exit;
}
// 成功レスポンスを返します
echo json_encode(['status' => 'success', 'message' => 'Score submitted successfully']);
?>
get_scores.phpのコード例
<?php
// get_scores.php
// エラーログを有効にします
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', 'error.log');
// CORSヘッダーを設定します
header("Access-Control-Allow-Origin: https://yourdomain.com"); // あなたのドメインに変更してください
header("Content-Type: application/json; charset=UTF-8");
// GETメソッドのみ許可します
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
http_response_code(405);
echo json_encode(['status' => 'error', 'message' => 'Method Not Allowed']);
exit;
}
// スコアファイルを読み込みます
$file = 'scores.txt';
if (!file_exists($file)) {
echo json_encode([]);
exit;
}
$scores = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$score_list = [];
foreach ($scores as $line) {
list($name, $score, $timestamp) = explode(',', $line);
$score_list[] = [
'name' => htmlspecialchars($name, ENT_QUOTES, 'UTF-8'),
'score' => intval($score),
'timestamp' => $timestamp
];
}
// スコアを降順にソートします
usort($score_list, function($a, $b) {
return $b['score'] - $a['score'];
});
// トップ10を取得します
$top10 = array_slice($score_list, 0, 10);
echo json_encode($top10);
?>
ゲームのJavaScriptコードに追加する機能の完全なコード例
こちらは、sendScore
関数とdisplayTopScores
関数を含む、ゲームの完全なJavaScriptコードの例です。
// スコアを送信する関数
function sendScore(name, score) {
fetch('https://yourdomain.com/submit_score.php', { // submit_score.phpのURLに変更してください
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ name: name, score: score })
})
.then(response => response.json())
.then(data => {
if (data.status === 'success') {
console.log('スコアが正常に保存されました');
displayTopScores(); // トップスコアを更新します
} else {
console.error('スコア保存エラー:', data.message);
alert("スコアの保存に失敗しました。後ほど再度お試しください。");
}
})
.catch(error => {
console.error('エラー:', error);
alert("スコアの保存に失敗しました。後ほど再度お試しください。");
});
}
// ゲームオーバー時の処理を修正
function displayGameOver(score) {
const playerName = prompt("スコアを記録してください(5文字以内):");
if (playerName && playerName.trim().length > 0 && playerName.length <= 5) {
sendScore(playerName.trim(), score);
} else {
alert("名前は1~5文字で入力してください。");
}
// 既存のゲームオーバー表示
const finalScoreElement = document.getElementById("finalScore");
finalScoreElement.innerText = `GAME OVER\nSCORE: ${score}`;
finalScoreElement.style.display = "block";
}
// トップスコアを取得して表示する関数
function displayTopScores() {
fetch('https://yourdomain.com/get_scores.php') // get_scores.phpのURLに変更してください
.then(response => response.json())
.then(data => {
const scoreList = document.getElementById("scoreList");
scoreList.innerHTML = ""; // 既存のリストをクリアします
if (data.length === 0) {
const li = document.createElement("li");
li.textContent = "スコアがまだありません。";
scoreList.appendChild(li);
return;
}
data.forEach((entry) => {
const li = document.createElement("li");
li.textContent = `${entry.name}: ${entry.score}`;
scoreList.appendChild(li);
});
})
.catch(error => {
console.error('スコア取得エラー:', error);
alert("トップスコアの取得に失敗しました。後ほど再度お試しください。");
});
}
// ゲーム開始時やスコア送信後にトップスコアを更新します
function startGame() {
// 既存のゲーム開始処理...
displayTopScores(); // ゲーム開始時にトップスコアを更新します
}
document.addEventListener("DOMContentLoaded", (event) => {
displayTopScores(); // ゲーム読み込み時にトップスコアを表示します
});
WordPressショートコード[leaderboard]の使用例
リーダーボード表示用ページを作成しましょう:
- WordPressダッシュボードから「ページ」 > 「新規追加」に移動します。
- ページタイトルを「リーダーボード」とします。
- コンテンツエディター内に
[leaderboard]
と入力します。 - ページを公開します。
リーダーボードを確認しましょう:
- 作成したページにアクセスし、トップ10スコアが正しく表示されているか確認します。
- 必要に応じて、CSSを調整し、デザインをカスタマイズしましょう。
以上の手順とコードをしっかりと実施することで、WordPressサイト内でかわいくゲームのスコアを記録・表示することができますよ!
コメント