SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
てるてる動画

【WordPress】管理画面でJavascriptも編集できるようにしたい

問題

WordPressの管理画面のテーマ編集画面には、.phpと.cssは出てくるけど、.js(Javascript)は出てこないですよね?

ちょっとしたJavascriptも管理画面で編集できるとありがたいんだけど…

wordpress

回答例

管理画面ではcssとphpしか編集できないが、

Javascriptを.phpの拡張子にしてしまえばよい。

phpになってしまうので、とてもわずかなオーバーヘッドは発生するが、通常気にするほどではないはずです。

HTTPヘッダに Content-Type は text/javascript を出力することと、適当にキャッシュしてもらえるようなヘッダも出力しておけばよい。

テーマのディレクトリに、js.phpというファイルを作り、js.phpでは先頭を以下のようにする。

<?php
//ブラウザにはキャッシュしてほしい
$expires = 3600000;
header('Last-Modified: Fri Jan 01 2010 00:00:00 GMT');
header('Expires: ' . gmdate('D, d M Y H:i:s T', time() + $expires));
header('Cache-Control: private, max-age=' . $expires);
header('Pragma: ');

//これ重要
header('Content-Type: text/javascript; charset=UTF-8');
?>

//あとはいつもどおりJavascriptを書いたらよい
function xxxx()
{
    alert("Hello!");
}

あとは、テーマのヘッダー(header.php)やフッター(footer.php)など適切な場所にて、scriptタグで、この js.php を読み込むようにする。

関連するメモ

コメント(1)

[PHP]他所のJSONをPHP経由の力技で使ってみる。 | WP-kyoto 2014年10月23日 07:59

[…] 【WordPress】管理画面でJavascriptも編集できるようにしたい at softelメモ ここのコードを、 JSONのContent-Typeは「 text/javascript […]