フォーラムへの返信

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: get_posts を含めたコードをもっと簡潔にしたい

    地域と都道府県を配列で管理して、ループで繰り返してあげるだけでも、だいぶコードが短くできると思います。
    たとえばこんな感じになるかと。(動作は未確認ですので、デバッグしてくださいませ)

    <?php
    $listPref =array(
    	"01" => array( "tag" => "hokkaido", "name" => "北海道",
    			"pref" => array(
    				"0101" => "北海道"
    			)
    		),
    	"02" => array( "tag" => "touhoku", "name" => "東北",
    			"pref" => array(
    				"0201" => "青森", "0202" => "岩手"
    			)
    		),
    		//以下、地方と都道府県の配列
    );
    
    foreach( $listPref as $area ) {
    	?><div class="area"><img src="<?php bloginfo('template_url'); ?>/images/shop/tab_<?php echo $area["tag"]; ?>.gif" width="580" height="30" alt="<?php echo $area["name"]; ?>" /></div><?php
    	foreach( $area["pref"] as $presid => $prefname ) {
    		//各都道府県の情報を取得
    		$posts = get_posts(array(
    			'numberposts' => 10,
    			'post_type' => 'shop',
    			'orderby' => 'meta_value',
    			'meta_key' => 'pref',
    			'order' => 'ASC',
    			'post_status' => 'publish',
    			'meta_query' => array(
    				array(
    					'key' => 'pref',
    					'value' => $presid,  //都道府県ごとのIDが入る
    				)
    			)
    		));
    
    		if($posts){
    			//各都道府県の情報を出力する
    			echo '<div class="pref">' . $prefname . '</div>';
    			foreach($posts as $post){
    				//情報出力処理
    			}
    		}
    	}
    }
    ?>
    フォーラム: 使い方全般
    返信が含まれるトピック: カスタムフィールドの値を合計して表示させたい

    happy789さん

    get_field()でカスタムフィールドの値が取得できるようです。
    (the_fieldは、表示までしてくれる)
    したがって、get_fieldを利用して以下のように記述すれば表示できると思います。

    <?php
    $num = array(get_field('m-01'),
                 get_field('m-02'),
                 get_field('m-03'),
                 get_field('m-04'),
                 get_field('m-05'),
                 get_field('m-06'),
                 get_field('m-07'),
                 get_field('m-08'),
                 get_field('m-09'),
                 get_field('m-10'),
                 get_field('m-11'),
                 get_field('m-12'));
    print array_sum($num) ;
    ?>

    月の部分はループするなりで、もう少しきれいになるかもです。

    thisislightsさん

    スタイルシートを修正して、中央に寄せることができます。
    marginとpaddingのleftを取ればOKです。

    style.css 350行目
    .single h1 {
        font-size: 23px;
        font-weight: normal;
        margin-bottom: 15px;
        /* margin-left: 160px; コメントアウト */
        margin-top: 15px;
    }
    
    style.css 393行目
    .single .article p {
        margin-bottom: 15px;
        /* margin-left: 160px; コメントアウト */
    }
    
    style.css416行目
    .single .article .postmetadata {
        float: none;
        padding-bottom: 15px;
        /* padding-left: 160px; コメントアウト */
        width: auto;
    }

    thisislightsさん、こんにちは。

    テーマで出力されているので、テーマのファイルを修正すれば、消すことができます。
    具体的には、single.phpの以下の記述を削除すれば消えます。

    <div class="postmetadata">
                        <span>Published by</span> <?php the_author() ?><br />
                        <?php printf(__('<span>Filled under:</span> %s'), get_the_category_list(', ')); ?><br />
    					<?php comments_popup_link(__('No Comments'), __('1 Comment'), __('% Comments'), '', __('Comments Closed') ); ?><br />
                        <?php edit_post_link(__('[Edit this entry]'), '<br />', ''); ?>
                    </div>

    消えるのはいいのですが、メインエリアが右によって見えるので、スタイルシートで中央に寄せるなりをされるときれいかなと思います。

4件の返信を表示中 - 1 - 4件目 (全4件中)