質問: ### 前提・実現したいこと top.phpでWordpressのimagesパスを取得してイメージファイルを表示したい ローカル環境では、top.php(固定ページのテンプレート)でget_template_directory_uri() を利用 してイメージを表示することができたのですが、エックスサーバー環境では表示ができません。 php初心者なのでどこをどうしていいのかわからず、質問させていただきました。 <ローカル環境のimagesパス> https://localhost/example.com/wp-content/themes/ver-a/images <サーバ環境> https://example.com/public_html/wp-content/themes/ver-a/images ### 発生している問題・エラーメッセージ サーバー環境では、public_htmlというフォルダ下にwordpressの環境が保管されているが get_template_directory_uri()では、public_htmlフォルダを無視したパスが取得されてしまうためイメージが表示されない 現状)https://example.com/wp-content/themes/ver-a/images/sample.png 解決?)https://example.com/public_html/wp-content/themes/ver-a/images/sample.png ### 該当のソースコード ``` ``` ### 試したこと 試すことすらわからないです。 ### 補足情報(言語/FW/ツール等のバージョンなど) wordpress4.5
回答: エックスサーバーでFTP接続すると `/ドメイン/public_html/` という構成になりますが、URLは `http://ドメイン/` という形でアクセスすることになります。そのため、imagesパスが取得できないのは別の問題ではないかと思います。 【FTPソフトの設定 - マニュアル | レンタルサーバー 高速・高機能・高安定性の【エックスサーバー】】 > > アップロードしたファイルの位置 URL > > /example.com/public_html/test.html http://example.com/test.html > > > WordPress には top.php というテンプレートはデフォルトでは存在しないため、そこの記述自体の問題か、「https」がらみの問題(独自SSLの設定が必要とか)か、他の要素な気がします。