はじめに
Conversational Forms からリンクを取得して、あなたのテーマの PHP テンプレート内でこのリンクを使いたいですか?小さな PHP スニペットを使えば、簡単にパーマリンクを取得し、PHP の echo 文を使ってテーマの PHP テンプレート内にリンクを表示することができます。このチュートリアルでは、このパーマリンクを取得し、PHPテンプレート内でリンクをecho出力する方法を各ステップごとに説明します。
フォームの作成
まず、会話フォームを作成する必要があります。これに関して何か助けが必要な場合は、こちらのドキュメントをご覧ください。
会話フォームからのリンク取得
次に、会話フォームから生成されたリンクを取得する必要があります。そのためには、このスニペットをサイトに追加する必要がある。
スニペットをサイトに追加する際にヘルプが必要な場合は、こちらのチュートリアルをご覧ください。
/** * Get permalink from conversational forms. * * @link https://wpforms.com/developers/how-to-retrieve-and-use-the-link-from-conversational-forms */ function get_the_conversational_form_link( $form_id ) { // Form ID should be numeric. // Permalinks should be configured. if ( ! is_numeric( $form_id ) || empty( get_option( 'permalink_structure' ) ) ) { return; } $form = wpforms()->form->get( $form_id ); $form_data = wpforms_decode( $form->post_content ); // Check if Conversational Form Mode is enabled. if ( empty( $form_data[ 'settings' ][ 'conversational_forms_enable' ] ) ) { return; } return esc_url( home_url( isset( $form->post_name ) ? $form->post_name : '' ) ); }
この関数は、関数を呼び出すときに代入される$form_idを受け取り、そのフォームの会話フォームへのリンクを取得するスタンドアロン関数です。
を使用する場合 echo get_the_conversational_form_link( $form_id );
関数を PHP テンプレート内に書くと、その関数は特定のフォーム ID のパーマリンクを取得し、テンプレート内でそのリンクを echo します。
関数を使う
それでは、この新しく作った関数をテーマ・テンプレートの中で使ってみましょう。
子テーマを作成せずにテーマのPHPファイルを変更することは決してお勧めしません。子テーマの作成にヘルプが必要な場合は、WPBeginnerの友人によるチュートリアルをご覧ください。
このドキュメントでは、すでに子テーマを作成しているので、お気に入りのエディターを使ってテンプレートを編集する。
そこで、メインコンテンツの後に、前のステップで作成した会話フォームへのリンクを表示する関数を呼び出し、サイトにあるすべての投稿ページの一番下に表示されるようにします。 これを機能させるために、子テーマのsingle.phpテンプレートから新しい関数を呼び出します。
<?php /** Time to get the permalink from the conversation form **/ // Define the $form_id variable with the form ID we want to use $form_id = 718; ?> <p>Have you tried this recipe before? Let us know what you though! <a href="<?php echo get_the_conversational_form_link( $form_id ); ?>" title="Cajun Steak Bites Recipe" target="_blank">Click here to leave a review for this recipe.</a></p>
PHPテンプレート内に新しい関数とテキストを配置したので、ブログのすべてのページでこの関数が動作するのを見ることができる。
会話型フォームからリンクを取得し、使用するために必要なのはこれだけです。 これらのページに独自のスタイルを追加したいですか?会話型フォームのスタイルシートをエンキューする方法についてのチュートリアルをご覧ください。