質問: WordPress初心者です。 使用中のテーマは管理画面の「外観」で確認・変更できることは知っているのですが、FTPの中のファイルで使用中のテーマを確認するにはどこを見たらいいのでしょうか。 私のWordPressには現在「twentyseventeen」「twentyfifteen」「twentysixteen」の3つのテーマが入っています。 (PHPエラー:ブログ画面) ``` Fatal error: Cannot redeclare get_current_theme() (previously declared in /home/wptokyometro/wptokyometro.wpxyz.jp/public_html/wp-includes/deprecated.php:2936) in /home/wptokyometro/wptokyometro.wpxyz.jp/public_html/wp-content/themes/twentyseventeen/functions.php on line 609 ``` (PHPエラー:管理画面) ``` Fatal error: Cannot redeclare get_current_theme() (previously declared in /home/wptokyometro/c.wpxyz.jp/public_html/wp-includes/deprecated.php:2936) in /home/wptokyometro/wptokyometro.wpxyz.jp/public_html/wp-content/themes/twentyseventeen/functions.php on line 609 ``` (functions.php on line 609) ``` function get_current_theme($new_name, $new_theme, $old_theme) ```
回答: `switch_theme`を使えば有効化されたテーマが分かるので、これを利用して`/wp-content/themes`にでもテキストファイルを生成して使用中のテーマ名を書き出すようにすれば可能かと。 Function Reference/switch theme 但し全てのテーマに上記のような処理をするコードを書く必要があります。 そもそもFTPで使用中のテーマを確認したいということの必要性が凡人には全くもって理解できませんが。 とりあえず通常はFTPで使用中のテーマは確認できませんので。 **追記** これ以上は時間の無駄なので参考のコードを書いておく。 拡張子が必要かどうかは別として以下のようなコードで`/wp-content/themes`に有効中のテーマ名のファイルを生成する。 ファイル名をテーマ名にするようにしたのは可視性のみ。 これは全てのテーマの`functions.php`に書いておく必要がある。 ``` function get_current_theme( $new_name, $new_theme, $old_theme ) { file_put_contents( get_theme_root().'/'.$new_name.'.txt', $new_name ); $old_file = get_theme_root().'/'.$old_theme->get( 'Name' ).'.txt'; if ( file_exists( $old_file ) ) { unlink( $old_file ); } } add_action( 'switch_theme', 'get_current_theme', 10, 3 ); ```