• 締切済み
  • すぐに回答を!

wordpressのindex.phpへの書き込み

現在、wordpressにてEngrave(有料版)を使用しています。(リンク先1参照) wordpressはphpというプログラム言語で構成されているため、 各ページの名前の最後に「.php」という拡張子がついています。 このEngrave(有料版)において、TOPページに「お問い合わせフォーム」を表示させたいのですが、 HPのトップページは「トップページ」を表す「index」に「.php」がつき、「index.php」のページとして表示されます。 そのため、トップページに「お問い合わせフォーム」を表示させるには、「index.php」の最後に「お問い合わせフォーム」作成時にできたショートコードを最後に記述する必要があります。 (リンク先2・「お問い合わせフォーム」の作成方法とそのショートコードに関して) この操作を教えてください。 お願いいたします。 リンク先1:https://www.thinkupthemes.com/themes/engrave/ リンク先2:https://www.adminweb.jp/wordpress-plugin/list/index10.html

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数194
  • ありがとう数4

みんなの回答

  • 回答No.2

さすがに有料版は手元にないため、無料版のEngraveをダウンロードし、中身を調べてみました。 早速のところ申しわけありませんが、そもそも > HPのトップページは「トップページ」を表す「index」に「.php」がつき、「index.php」のページとして表示されます。 というところが微妙に間違っています。たとえ《index》がついていたとしても、それが必ずしも《index.php》とはかぎらないというのが、WordPressの一番やっかいで難しいところなんです。 ◆(すごく難しいけど)テンプレート階層 - WordPress Codex 日本語版  https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4 ◆WordPressのテンプレートファイルの種類とテンプレート階層 | Mignon Style  http://mignonstyle.com/wordpress-template-file/ というのも、WordPressには《テンプレート階層》というものがあって、その時々の状況に応じて、どのPHPファイルを使ってページを表示するのかが厳密に決められています。Engraveを確認したかぎりでは、このテーマは一切《index.php》を使っていません。 代わりに使っているのが《front-page.php》というファイルで、この中身がトップページの内容として表示されているわけです。名前からしてフロントページですから、これが一番前というか、最初のトップページになるんですね。 <?php /** * The template for displaying front page content. * * This template will then load home.php or page.php depending on users front page display settings. * * @package ThinkUpThemes */ if ( 'posts' == get_option( 'show_on_front' ) ) { include( get_home_template() ); } else { include( get_page_template() ); } echo do_shortcode('[contact-form-7 id="番号" title="タイトル"]'); ?> それで《front-page.php》の中身を載せてみましたが、ここにショートコードを追記すれば、おそらくメールフォームもいっしょに表示されるのではないかと思います。なお、PHPファイル内では直接ショートコードを扱えないため、《echo do_shortcode('');》という関数でショートコードを囲む必要があります。 ただし、この方法だとテーマがアップデートされたときにショートコードごと消えてしまう恐れもあるため、あまりおすすめできません。1番さんのおっしゃるように、お問い合わせフォームをトップページ以外の場所にわけたほうがいいと思います。 ◆字游工房|JIYUKOBO  http://www.jiyu-kobo.co.jp/ こちらのサイトもWordPress製ですが、連絡先のページがわかれてますね。投稿や固定ページ機能を使えば簡単に分けられますし(リンク先2と同じ方法)、そうすれば、PHPファイルを直接編集する必要もなくなります。たとえPHPを知らなくても、管理画面からショートコードを書くだけで動くので、こちらのほうが簡単です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お返事が遅くなり申し訳ありません。 初心者なのでちょっと難しい話に感じましたが、wordpress Engraveのトップページは「index.php」ではなく「front-page.php」で構成されているんですね。 ただこの「front-page.php」に「お問い合わせフォーム」のショートコードを埋め込む方法では、アップデートの都度、ショートコードを書き足していかなければならないということなんですよね… 確かに、1さんの教えてくださった方法でやってみた方がいいのかもしれません。 詳しく教えてくださり、ありがとうございます。

関連するQ&A

  • ワードプレス 全てindex.htmlになる

    ワードプレスの本を参考にホームページを作っています。 themesフォルダに自作テーマのためのフォルダを作り、index.php、cssファイル、header,footer.phpを作り、固定ページのためのpageファイルを作りました。 ダッシュボードから記事内容を記入して、パーマリンクを設定してアクセスしましたが、 localhost/wordpress (wordpressはアプリ名です)でアクセスしても、パーマリンクをbusinessとして追加した固定ページもすべて、アプリ名wordpressフォルダ直下のindex.phpの内容を表示しているようです。 ルーティングについて調べましたが、見当違いなことを調べてるのでしょうか?あまり解決につながる情報が見当たりません。 初歩的な質問で恐縮ですがよろしくお願いします。

    • ベストアンサー
    • PHP
  • wordpressのルートのindex.phpのファイル名を変更できないでしょうか

    SNSオープンソースの「OpnePNE」とブログ系CMSの「WordPress」を同じサーバーで使用したく考えています。 SNS外のページはwordpressで作成し、トップページにはSNSへのログインフォームを設置する予定です。 http://aaa.com/のルートにはindex.phpを置くのですが… wordpressもOpnePNEも同じようにルートに置くべき「index.php」を持っています。 スケジュールが詰まっていたので SNSを先に設置し、カスタマイズを行い、稼動しています。 ルートには、OpenPNEのindex.phpが置いてあるわけです。 SNS外のページは、htmlの静的ページを作成しました。 これからSNS外も更新が頻繁に行われていく予定なので どうしてもCMSを導入したいわけですが… index.phpが…どうしたらいいのでしょうか。 penPNEをこれ以上カスタマイズすることなくwordpressの設定のみで完結する方法を探しています。

    • ベストアンサー
    • PHP
  • ワードプレスでショートコード内にphp

    ワードプレスのショートコード内で書きphpを書いたところ 動作しないようでした。 <a href="http://●●●=<?php echo get_the_title();?>"> ショートコード内では echoなどは使えないでしょうか? 表示はそのまま[ショートコード名]で記事内に貼っています。

    • 締切済み
    • PHP
  • 回答No.1

お問い合わせ さっと読んだだけですが メイン、インデックスのページにこの画面を張るのはどうかと 説明にもあるように、個々のページの時は表示記事を1にするか 固定ページにリンクする方が、見た目がきれいでは メニューの所に、問い合わせと書いて、クリックすると問い合わせページが出てくる方法 どうしても入れるので有れば、ヘッダーかフッターの方が記述加えてタグコード入れやすいです ただ、テーマを変えれば消えてしまいます

共感・感謝の気持ちを伝えよう!

質問者からのお礼

いつもご回答ありがとうございます! 見栄えの問題で、あまりおすすめはできないやり方なんですね。 無理やりにでも入れるか、ほかの方法を考えるか検討します。

質問者からの補足

補足すみません。 index.phpのページに入ると、以下のようなコードしか表示されないのですが、このような場合はどのようなことが考えられるでしょうか。 いつも教えていただいてばかりで申し訳ございません。 <?php /** * The main template file. * * @package ThinkUpThemes */ ?> This is index.php!

関連するQ&A

  • wordpressのトップページについて

    こんにちは。 wordpressをいじりはじめた初心者ですが、 例えば、トップページをwordpress以外で作って、 2ページ目からwordpressを用いたページを表示させたいのですが、 index.htmlとindex.phpがあっても、構造上問題はないものなのでしょうか。 wordpressのソース自体を書き換える必要はございますか。 当方、初心者なのですが、何かよい方法がありましたら、 教えて頂けましたら幸いです。 よろしくお願い致します。

  • Wordpress初心者です

    wordpress初心者です。 wordpressを勉強しようとしていて、最初でつまづいてしまいました。 XAMPPを導入して、htdocs/wordpress/wp-content/themes/twentythirteen/index.php をhttp://localohst/wordpress/wp-content/themes/twentythirteen/index.php で表示させようとしたら、 Fatal error: Call to undefined function get_header() in C:\xampp\htdocs¥wordpress\wp-content\themes\twentythirteen\index.php on line 17 とエラーが出てしまって表示できません。何が原因でどのように対処すればよいのでしょうか? よろしくお願いします。

    • 締切済み
    • CSS
  • ワードプレス index.phpの差し替え

    お世話になります。初心者なもので不備あれば失礼します。 ワードプレスのindex.phpのファイルをローカルPCに落とし、 それをFTPで再びアップした場合、無事作動するのか教えて下さい。 (これまでのデータが削除される..変換される..等の影響がないのか。) <具体的な状況ですが。。。> あるサイトを運用していたのですが、それがウィルス感染してしまいました。それに伴い、ブログのページ(ワードプレスで管理したもの)トップにも広がっておりました。 index.php内のウィルスらしき【不要なタグのみ】を削除したのですが、 それをFTPにて上書きした場合、これまでの表示されていた、 データに不具合が生じないか。。そこを心配しております。 ちなみに、文字コードは UTF-8のままです。 ワードプレスにおける、データベースの仕組みを分かっておりませんで、 素っ頓狂な質問でしたら失礼致します。 以上何卒よろしくお願い申し上げます。

  • Wordpress のPHPファイルをIEで開く

    WordPress のテーマを変更したいと思い、PHPファイルをいじったのですが PHPファイルをそのままIEで開けないんですね。 ディレクトリはこんな感じなんですが、 C:\Program Files\Apache\Apache24\htdocs\wordpress\wp-content\themes http://localhost/wordpress\wp-content\themes\twentytwelve\index.php では開けませんでした。間違ってますか? It works と表示されるファイル(C:\Program Files\Apache\Apache24\htdocsにあります。)はhttp://localhost/で開けます。

    • ベストアンサー
    • PHP
  • wordpressのindexを変えたい

    wordpressを勉強していますが、ページ全体のheaderは統一していていいんですが、index.phpのheeaderだけ変えるにはどのようにやればいいのかわかりません。 <?php get_header(); ?>でheader.phpを読み込んでいるはわかったんですが、headerの名前を両方変えると読み込まなくなりました。まぁーこんなこと自体普通はやらないんでしょーが・・・なにか分かる方、アドバイスをよろしくお願いします。

    • ベストアンサー
    • PHP
  • ワードプレスについて

    基本フルスクラッチで作ったサイトに、formタグだけ、ワードプレス化のphpコードを入れてワードプレスのプラグインで問い合わせフォームやショッピングカートを導入する方法があると聞いたのですが、それでもワードプレスのインストールをしないといけないので、 重くてそのようなやり方をするくらいならPHP工房などのほうがいいでしょうか? http://www.webopixel.net/wordpress/206.html

    • ベストアンサー
    • PHP
  • ホームページをindex.htmlからindex.phpにリニューアルする時。

    ホームページを今まで普通のhtmlで書いていたのですが、今回ブログを使って、ホームページを切り替えようとしています。 ただ、現在はブログをトップディレクトリの一段下から展開していまして、今からトップページに移そうとしています。 その時に、今まであったindex.htmlからindex.php(ブログの拡張子)に切り替わるわけですが、index.html時代のコンテンツが膨大なため、一旦トップページに移したあとに、コンテンツを移植しようと考えています。 その時に、例えば誰かがアドレス(http://www.hogehoge.com)と打った場合は、どちらのページが表示されるのでしょうか?index.htmlでしょうか、それともindex.phpでしょうか? また、今まで残していた普通のホームページのコンテンツが検索エンジンなどで引っ掛かったときに、新しいブログのコンテンツ側(トップページで構わないのですが)にジャンプさせるようにしたいのですが、このへんはどういうふうにすればいいのでしょうか。 長文すいませんが、ぜひとも教えてください。

  • index.phpの役割について

    とても基本的で初心者すぎる質問だと思うのですが、と前置きをしておきます。 WordPressでのサイト作成の勉強をしています。 今まで、サイトを構成するファイルの中で最初に読まれるのは index.html(index.php)だと思っていました。 しかし、本を読みながら作成した練習用ページを作り終え、 今度は一から作ってみようと思いindex.phpの中身を <html> <head> <title>練習用のテスト</title> </head> <body> </body> </html> とひとまずまっさらにしてみました。 しかし、その状態でページを読み込んでみても表示が変わりません。 トップに出てくるページは練習用に作ったfront-page.phpの内容のようですが、 ではindex.phpは何をするものなのでしょうか? index.phpが最初に読まれるのであれば、まっさらな表示になると思ったのですが… 検索して調べてもみたのですが、あまりに基本的すぎることだからなのか 全然見つかりませんでした(探し方が判っていないせいかもしれません) index.phpとは何をするものなのか? 最初に読まれるわけではないのか? その存在と役割について、判る方おられましたらよろしくお願いいたします。 できれば初心者にも判りやすい説明を頂けると助かります。

  • index.phpをindex.htmlにしたい

    htmlをphpとして動かすのではなく、拡張子がphpのものをhtmlとして動作させる事はできないのでしょうか。 特に公開する訳ではなく練習でホームページを作っており、index.htmlをindex.phpに変更し、その二つを同じ挙動にしたいです。 ドメイン名+index.phpでアクセスすればサイトは全体的に動作するのですが、ドメインのみでアクセスした場合、index.phpは表示されますが別のリンクからindex.phpに飛ぼうとするとうまく表示されません。これは、html拡張子の場合発生しません。 bootstrapを使用したレスポンシブのテンプレートを使用しています。 実際にphpを動作させたいのではなく、index.phpというファイルをindex.htmlと同じ様に動作させたいのです。二つのファイルの中身は全く一緒です。 ドメインのみでアクセスし、サイト内のどのリンクからトップページに飛んでも問題なく表示され、アドレスの欄にはindex.phpと表示させたいです。 変わった質問ですが、どうぞよろしくお願いします。

  • htmlでphp(WordPress)を動かす

    WordPress外のindexhtmlにブログの更新情報を表示させたいと考えています。 そこで、<?php require_once('../wp/wp-blog-header.php'); ?>をhtml内に置き、 ブログのタイトルを取得する構文を書き、phpを動作させる為表示させる為に、 通常であれば、index.html→index.phpに変更する必要があります。 しかし拡張子が変わる事で、ファイルが別物扱いになりこれまでのSEO効果が無くなってしまうような事を聞いたのですが、そこは避けたいと考えています。 調べた方法として、 htmlでphpを動かすため、.htaccessに「AddType application/x-httpd-php .htm .html」を記述する方法があるようですが、サーバー内の全て.phpに変わり、サーバーにも負荷が掛かり、そもそも上記の記述はサーバーの制約で使えないようでした。 TOPページのindex.htmlのみ、phpが使用できる方法はないでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP