DockerでWordPressのオリジナルテーマ作成環境を構築する

↓compose.yml

services:
  db:
    image: mariadb:10.7
    environment:
      MARIADB_ROOT_PASSWORD: rootpass
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wordpress
      MARIADB_PASSWORD: wordpress
    volumes:
      - db-data:/var/lib/mysql
  phpmyadmin:
    image: phpmyadmin:latest
    depends_on:
      - db
    environment:
      PMA_HOST: db
      PMA_USER: wordpress
      PMA_PASSWORD: wordpress
    ports:
      - "4040:80"
    volumes:
      - phpmyadmin-data:/sessions
  wordpress:
    image: wordpress:latest
    depends_on:
      - db
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    ports:
      - "8080:80"
    volumes:
      - ./html:/var/www/html
volumes:
  db-data:
  phpmyadmin-data:

PS G:\共有ドライブ\ius\2_普及活動\ウェブサイト\2023\mmf_website改修検討\wp-original-theme> docker compose up -d

【注意】http://localhost:8080 を入力すると当初は「ページが読み込めません」のようなエラーメッセージがでるが、5-10分くらいするとWordPressのインストール画面が現れる。

但し、以下のエラーがでた際は、いくら待ってもダメなので、作成された「html」フォルダを削除して、コンテナも「docker compose down –rmi all」で削除してから、再びコンテナ作成をする必要がある。

http://localhost:8080/wp-admin/install.php

ここからオリジナルテーマ作成する

wp-original-theme\html\wp-content\themes

↓現状

↓original-theme(名前は任意)フォルダーを追加

↓ファイル構成

↓オリジナルテーマが追加されているので「Activate」する

やったー!オリジナルテーマが作成されている!

phpMyAdminページも立ち上がった。http://localhost:4040/

管理画面が真っ白になるエラーが発生した場合。

デフォルトではエラーが非表示になっているので、「wp-config.php」を

define(‘WP_DEBUG’, !!getenv_docker(‘WORDPRESS_DEBUG’, ‘false’));

をtrueに変えて、エラーを表示させる。

define(‘WP_DEBUG’, !!getenv_docker(‘WORDPRESS_DEBUG’, ‘true’));

以下のようなエラーが出ていた。

Warning: Cannot modify header information – headers already sent by (output started at /home/~~/functions.php:1) in /home/~~/pluggable.php on line 875

functions.phpの冒頭に「ob _start();」を追加する。

<?php
ob_start();
// define( 'WP_DEBUG', true );
// define( 'WP_DEBUG_LOG', true );
// error_log( '==============================' );
// error_log( var_export( $data, true ) );
?>

復活した。