質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • PHP

    20782questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

wordpressプラグインのSmart Custom Fieldsについて

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,204

cova

score 14

wordpressプラグインの「Custom Post Type UI」と一緒に
「Smart Custom Fields」を使用し「繰り返し(グループ)機能」で
出力先を「index.php」に反映させたかったのですが、
特にエラーもなく何も表示されませんでした。

下記のコードのミスなのか、それとも
wordpressのパラメータタグが必要なのでしょうか。

どなたか教えていただけると助かります。

Smart Custom Fieldsの管理画面は
カスタムフィールドのグループ名が「foodmain」
サブフィールド 
・リストタイプ「テキスト」
・名前「mainname」
・ラベル「商品」

サブフィールド
・タイプ「テキスト」
・名前「mainprice」
・ラベル「値段」

Custom Post Type UIの管理画面は
・Post Type Slug 「main」
・Plural Label 「メイン」
・Singular Label 「メイン」

<?php
  $group_set = SCF::get( 'foodmain' );
     foreach ( $group_set as $field_name => $field_value ) {
 ?>
 <?php echo esc_html( $field_value['mainname'] ); ?>
 <?php echo esc_html( $field_value['mainprice'] ); ?>
<?php }
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2016/05/09 10:44 編集

    「うまくできない」とは「何をしたときに」「どうなると思って」「どうなったのか」をお書きください。また、コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。

    キャンセル

回答 2

+1

Custom Post Type UIの表示方法を
記述していなかったのがそもそもの原因でした。

下記のコードを記述することにより
解決いたしました。

<?php $loop = new WP_Query(array("post_type" => "main", "posts_per_page" => 50 ));
                        while($loop->have_posts()): $loop->the_post(); ?>
                        <div id=”post-<?php the_ID(); ?><?php post_class(); ?>>

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

0

こちらの書き方で出力されませんか?表示されないようでしたらコメントアウトしてある var_dump で中身を確認してみてください。

$group_set = SCF::get( 'foodmain' );
// var_dump( $group_set );
foreach ( $group_set as $fields ) {
    // var_dump( $fields );
    echo esc_html( $fields[ 'mainname' ] );
    echo esc_html( $fields[ 'mainprice' ] );
}

また、エラーは非表示になっていることがあり、下記のようにして表示させることができます。

<?php
//エラー出力強制
ini_set( 'display_errors', 1 ); // エラーを画面に表示(1を0にすると画面上にはエラーは出ない)
//すべてのエラー表示
error_reporting( E_ALL );

追記:

【【WordPress】クリック1つでカスタムフィールドのグループを増やせるSmart Custom Fieldsの繰り返し機能がすごく便利 | ホームページ制作 SEO対策 福岡のアイドットデザイン】
http://idotdesign.net/blog/web/wordpress/smart-custom-fields/

【WordPressプラグイン「Smart Custom Fields」|大阪のホームページ制作・WEB制作会社I.M.D】
https://www.imd-net.com/blog/2014/12/15-210937/

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/09 20:06 編集

    ありがとうございます。

    教えていただいた通りにしたところ、
    Warning: Invalid argument supplied for foreach() in /ファイルのパス/ が
    表示され。これについて調べたところ
    foreach ((array) $group_set as $fields ) {
    にすれば、治ると記載されてたので、そのとおりにしたのですが、
    エラーは表示されなくなりましたが、何も表示されませんでした。

    新たにカテゴリーを作った方がよろしいでしょうか。

    「Smart Custom Fields」以外に「Advanced Custom Fields PRO」と
    「Custom Field Suite」のプラグインを入れているのが原因でしょうか。
    今は無効化にしてあります。

    ご報告は以上となります。

    キャンセル

  • 2016/05/09 20:36

    var_dump( $group_set ); の結果はどうなりましたか?多分データは入っていない気がします。「Invalid argument supplied for foreach」は「配列が入っていないんですけど」ということかと思います。SCF::get() が正しく動くかどうか、グループ化していない項目で入力が反映されるか確認してみてください。

    キャンセル

  • 2016/05/11 09:29

    大変申し訳ございません。
    この「teratail」の使い方がわからず
    返信が遅れました。

    var_dump( $group_set ); の結果回答ですが、
    「NULL 」と表示されました。

    グループ化していない項目での反映されるか
    試してみましたが、表示されませんでした。(エラー表示もありません。)

    kei344 さんがおしゃるとおり
    SCF::get()が動いてなさそうです。


    ちなみに、「グループ化していない項目」の
    やり方は下記のようにやりました。

    カスタムフィールドで「フィールド追加」を押し
    新しい「フィールド」を作り
    タイプ 「テキスト」
    名前 「category」
    ラベル 「カテゴリー」

    コードは下記のとおりです。

    <?php
    $product_id = SCF::get( 'category' );
    echo esc_html( $product_id );
    ?>

    以上となります。

    キャンセル

  • 2016/05/11 11:10

    > カスタムフィールドで「フィールド追加」を押し
    それはWordPress標準のカスタムフィールドの追加方法です。

    【wordpressカスタムフィールドの設定手順(表示・取得)と、プラグイン:「カスタムフィールドテンプレート」の使い方】
    http://viral-community.com/wordpress/wordpress-custom-field-5309/

    スクリーンショットつきの記事2つを追記しますので、そもそもの使い方を確認してください。

    キャンセル

  • 2016/05/12 18:56

    kei344 さん
    長々と質疑応答に付き合って
    いただきましてありがとうございます。

    今一度、最初から手順を追っていくことにより
    抜けていた箇所があり、それを追加修正いたしましたら
    自己解決にいたりました。

    改めて御礼申し上げます。
    今後ともよろしくお願いします。

    キャンセル

関連した質問

同じタグがついた質問を見る

  • PHP

    20782questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。