サポート » 使い方全般 » カスタムフィールドで作成したフォーム内容を、自作の表に出力したい

  • ワードプレス初心者です。
    職場でコーポレートサイトを制作しているのですが、
    ワードプレスを利用して採用情報をCMS化することになりました。

    まず、下記画像の表をHTMLとCSSで作成致しました。(画像1を参照してください)

    http://wprensyu.web.fc2.com/

    次に、自由に表の中身を変更できるようにする為、
    プラグイン「Advanced Custom Fields」を利用して、
    下記画像のような入力フォームを作成しました。(画像2を参照してください)

    http://wprensyu.web.fc2.com/

    ただ、入力フォームの内容を、table内に表示させるには
    どうしたら良いのかわからずとても困っています。
    私はPHP記述の知識もございません。

    この方法が正しいかわからないのですが、
    http://komodo.arrow.jp/wp/492
    上記サイトの情報が、私のやりたいことに近いかもしれないと考えました。
    ですが、「<?php the_field(‘zip_code’,$post->ID); ?>」内の
    「$post->ID」の「ID」というのは、「Advanced Custom Fields」のどこで設定できるのかも
    見つけることができませんでした。

    HTMLに詳しくないお客様にお渡しするサイトなので、CMS化はどうしても必要です。
    諦めるわけには行かないので、出力する方法をどうか教えて頂けると幸いです。
    よろしくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • 上記サイトの情報が、私のやりたいことに近いかもしれないと考えました。
    ですが、「<?php the_field(‘zip_code’,$post->ID); ?>」内の
    「$post->ID」の「ID」というのは、「Advanced Custom Fields」のどこで設定できるのかも
    見つけることができませんでした

    the_field(‘zip_code’,$post->ID) これは$post->IDの記事に設定されているカスタムフィールド「zip_code」を表示するという意味です。
    それぞれの記事に自動的に割り当てられるIDを取得しているんですね。

    カスタムフィールドの内容を表示するにはzip_codeの部分をそれぞれのフィールドに割り当てた名前に変えてください。

    カスタムフィールドを表示するにはテンプレートに手を加えます。
    PHPがわからないとのことなのでfunctions.phpに記述する方法を考えてみたのでご参考までに。

    function add_recruit_table(){
    if(is_single() && in_category('recruit')){
    global $post;
    $tablestr = '<table><tbody>';
    $get_fields = get_field_objects($post->ID);
    if(is_array($get_fields)){
    foreach($get_fields as $key => $field){
    	$tablestr .= '<tr>';
    	$tablestr .= '<th>'.$field['label'].'</th>';
    	$tablestr .= '<td>'.get_field($key,$post->ID).'</td>';
    	$tablestr .= '</tr>';
    }}
    
    $tablestr .= '</tbody></table>';
    $content = $post->post_content;
    $post->post_content = $tablestr.$content;
    return $post->post_content;
    }
    }
    add_action('wp','add_recruit_table');

    もっとスマートな方法があるかもしれませんが、とりあえず。
    このままだとテーブルを表示してから記事本文になります。逆にする場合は下から5行目の
    $post->post_content = $tablestr.$content;

    $post->post_content = $content.$tablestr;
    に変更してください。
    またカテゴリーがrecruitの記事だけにテーブルが表示されます。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カスタムフィールドで作成したフォーム内容を、自作の表に出力したい」には新たに返信することはできません。