• 解決済 t.harada

    (@tharada)


    Custom Field GUI Utilityを使って親の固定ページで子の固定ページに設定したカスタムフィールドを表示したいのですが、やり方が分かりません。

    現在は親ページのテンプレートに以下のように記述していますが、カスタムフィールドに設定した部分は何も表示されません。

    <ul class="thumb">
    
    <?php
    $children = get_pages('parent=209&hierarchical=0');
    foreach ($children as $child) {
    ?>
    <?php
    foreach ($children as $child) {
    $eye_catch = get_post_thumbnail_id($child->ID);
    ?>
    
    <li>
    <!-- アイキャッチ画像とタイトル表示 -->
    <?php echo post_custom('textfield_business')?>
    <a href="<?php echo get_page_link($child->ID);?>"><?php echo wp_get_attachment_image($eye_catch, $size=array(212,212));?></a><br>
    <a href="<?php echo get_page_link($child->ID);?>"><?php echo esc_html($child->post_title);?></a>
    </li>
    
    <?php }?>
    
    <?php }?>
    </ul>

    <?php echo post_custom('textfield_business')?>
    を他の関数のように
    <?php echo $child->post_custom('textfield_business')?>
    と変えても以下のようなエラーが出ます。
    Fatal error: Call to undefined method stdClass::post_custom() in /hogehoge.php on line 26

    子ページ自体を表示している際のカスタムフィールドは問題なく表示されます。
    この場合、どのように記述すれば宜しいのでしょうか?
    他のプラグインやヒントだけでも頂ければ幸いです。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 t.harada

    (@tharada)

    自己レスです。

    フォーラムにあったこちらのポストを参考にして、以下のように書き換えてみたところ、うまく行きました。

    <ul class="thumb">
    <?php
    if ( $post->post_parent == ID209) {
    	$child_posts = get_posts( '&order=ASC&orderby=date&post_type=page&meta_key=textfield_business' );
    	if ( $child_posts ) {
    		foreach ( $child_posts as $child ) {
    			$eye_catch = get_post_thumbnail_id($child->ID);
    			$c_pagelink = get_page_link( $child->ID );
    			$c_title = apply_filters( 'the_title', $child->post_title );
    			$c_business = get_post_meta( $child->ID, textfield_business, true );
    			$c_name = get_post_meta( $child->ID, textfield_name, true );
    ?>
    <li><a href="<?php echo $c_pagelink; ?>"><?php echo wp_get_attachment_image($eye_catch, $size=array(212,212));?><br />
    <span class="text10"><?php echo $c_business; ?></span><br />
    <?php echo $c_name; ?></a>
    </li>
    <?php
    		}
    	}
    }
    ?>
    </ul>

    このコードでCustom Field GUI Utilityを使う意味があるのかは謎ですが…(汗
    もう少しスマートなコードがあれば是非お教えいただきたいです。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「Custom Field GUI Utilityで親固定ページで子ページに設定したフィールド表示」には新たに返信することはできません。