【WordPress】自由にPHPコードを描くためのテンプレートをWordPressの管理画面から作成してみる

徒然草2.0

現在このブログはWPXサーバというのを使っているのですが…SSH接続する機能がないので扱いづらい…SSHクライアントで操作ができない…ということで、ちょっとしたWordPressの作業はすべて管理画面で行いたいと思うことがしばしばあります。プラグインは使わずに、テーマエディタだけで新しいページを追加して、PHPのサンプルコードなんかがかけると便利だな…ということでそんなことが可能か?現実的だと言えるのか?試しにやってみました。

※テンプレート作成で目的のことをやるのが難しいので途中で作業を放棄しました。

WordPressの管理画面からテーマへテンプレートを追加する

function.phpに、

touch( get_stylesheet_directory() . '/page-test.php' );

ちなみにファイルを消したいなら…

unlink(get_stylesheet_directory() . '/page-test.php');

ちなみにファイルをコピーしたいなら…

copy(get_stylesheet_directory() . '/page-test.php', get_stylesheet_directory() . '/page-test2.php');

などと記述して画面をリロードして実行…なるほど、こんな野蛮な手になるのか(汗)

管理画面にファイル追加をするテキストボックスとボタンを追加するみたいなものを作ってもいいかもしれませんね。

参考「テーマエディターでファイルを新規追加する方法 | WP-Master.club

page.phpをコピペする

cocoon/page.php at master · yhira/cocoon
100%GPLの無料Wordpressテーマです。開発中の開発バージョンです。安定版をダウンロードする場合は、Cocoon配布サイトからダウンロードしてください。 - cocoon/page.php at master · yhira/cocoon

コチラの内容をコピペしてテーマエディタで開いたpage-test.phpへ貼り付けてファイルを保存しようと思ったが、固定ページの本文は以下のコードから出力している。

get_template_part('tmp/page-contents'); ?>

だからtmp/page-contentsを開いて…本文をのぞいたコードにしてしまった。

<?php //通常ページとAMPページの切り分け
/**
 * Cocoon WordPress Theme
 * @author: yhira
 * @link: https://wp-cocoon.com/
 * @license: http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later
 */
if ( !defined( 'ABSPATH' ) ) exit;

if (!is_amp()) {
   get_header();
 } else {
   get_template_part('tmp/amp-header');
 }
?>

<?php //固定ページのコンテンツ
/**
 * Cocoon WordPress Theme
 * @author: yhira
 * @link: https://wp-cocoon.com/
 * @license: http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later
 */
if ( !defined( 'ABSPATH' ) ) exit; ?>
<?php //パンくずリストがメイントップの場合
if (is_page_breadcrumbs_position_main_top()){
  get_template_part('tmp/breadcrumbs-page');
} ?>

/** phpコード開始 **/

echo "hello";

/** PHPコード終了 **/

<?php //コメントを表示する場合
if (is_page_comment_visible()) {
  comments_template(); //コメントテンプレート
} ?>

<?php //パンくずリストがメインボトムの場合
if (is_page_breadcrumbs_position_main_bottom()){
  get_template_part('tmp/breadcrumbs-page');
} ?>

<?php //メインカラム追従領域
get_template_part('tmp/main-scroll'); ?>

<?php get_footer(); ?>

これが今回作ったpage-test.phpの中身である。

おもったよりcoccoonのテンプレートがややこしいので違う方法で実装することにしました。

コメント

タイトルとURLをコピーしました