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

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

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

2回答

1662閲覧

Smart Custom Fieldsの関連する投稿のスラッグを出力したい

cryson

総合スコア22

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2020/10/29 04:25

編集2020/10/29 05:23

お世話になります。

WPプラグイン「Smart Custom Fields」の繰り返し機能を使い、テーマファイルに「関連した投稿」のスラッグを出力させようとしております。

繰り返しグループの名前:fields
関連する投稿の名前:foo

<?php $fields = SCF::get('fields'); foreach ($fields as $field) { $foo = get_post_meta($post->ID, 'foo', true); echo get_post($)->post_name; } ?>
関連した投稿1つめのスラッグ:hoga 関連した投稿2つめのスラッグ:hogi 関連した投稿3つめのスラッグ:hogu 関連した投稿4つめのスラッグ:hoge

このようにすると、最上段のhogaのみが4回繰り返されてしまいます。
$post->IDを$fieldに変えてもダメでした。
お手数おかけしますがご教授いただけると幸いです。

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

PHP

1foreach ($fields as $field) { 2 $page = get_post_meta($post->ID, 'page', true); 3 // echo get_post($related_posts)->post_name; 4 // ↓ 少なくともこうでは。 5 echo get_post($page)->post_name; 6}

あと直接は関係ないと思いますがWordPressはグローバル変数を多用する設計なので、$pageとか被りそうな変数名はお勧めしません。

投稿2020/10/29 04:29

編集2020/10/29 04:30
kei344

総合スコア69606

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cryson

2020/10/29 05:19

ご回答ありがとうございます。 こちらに載せる際に変数の書き換えを忘れておりました、失礼しました。 実際のコードでは頂いたものと同じになっておりますが、解決しない状況です。 グローバル変数についてのアドバイスもありがとうございます。
kei344

2020/10/29 05:24

質問には実際に使うコードをコピペで提示することをお勧めします。 あとは$post->IDが$fieldと何の関係も無く一定なのでそこでしょう。
guest

0

自己解決

頂いたご回答を参考に、以下の手順でできました。
自己流なので正攻法かどうかは分かりません。

<?php $fields = SCF::get('fields'); foreach ($fields as $field) { $piyos = $field['foo'] foreach (piyos as piyo) { $i = get_post($piyo); echo $piyo->post_name; } } ?>

投稿2020/10/29 09:17

cryson

総合スコア22

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問