フォーラムへの返信

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: wp_list_pages()以外でcurrent_page_itemを付与させたい
    トピック投稿者 t.harada

    (@tharada)

    紆余曲折の末、$child->IDとget_the_ID()を変数に代入し、それぞれが等しい時にcurrent_page_itemクラスを付与するように書き換えてみました。

    <ul id="sub">
    <?php
    	$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 );
    			$postid = $child->ID;
    			$postid2 = get_the_ID();
    ?>
    <li class="post-<?php echo $postid; ?><?php if ($postid == $postid2) { echo' current_page_item'; } ?>"><a href="<?php echo $c_pagelink; ?>">
    <span class="text10"><?php echo $c_business; ?></span><br />
    <?php echo $c_name; ?></a>
    </li>
    <?php
    		}
    	}
    ?>
    </ul>

    我ながら汚いコードですが、ようやく解決しました…。

    トピック投稿者 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を使う意味があるのかは謎ですが…(汗
    もう少しスマートなコードがあれば是非お教えいただきたいです。

    フォーラム: 使い方全般
    返信が含まれるトピック: 編集画面で固定ページの抜粋が消えた?
    トピック投稿者 t.harada

    (@tharada)

    kzさん、度々ありがとうございます!
    ようやく理解できました!
    そういうことだったんですね。
    表示オプションに表示される内容はダッシュボードでも固定ページ編集画面でも同じ物だと思い込んでいました。
    お騒がせしてすみませんでした。

    フォーラム: 使い方全般
    返信が含まれるトピック: 編集画面で固定ページの抜粋が消えた?
    トピック投稿者 t.harada

    (@tharada)

    管理画面、ダッシュボードの右上という意味ですよね?

    function.phpへの固定ページにおける抜粋とhide-if-js対策の追記を消した上で再度確認してみました。
    そこをクリックすると左から

    画面に表示
    現在の状況、最近のコメント、被リンク、プラグイン、ページ Tree View、HeadSpace、クイック投稿、最近の下書き、WordPress ブログ、WordPress フォーラム

    しかないのですが…。

    あれ、HeadSpaceなどのプラグインはともかく、皆さんは見えている内容が違うんでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: トップページに固定ページの抜粋を表示したい
    トピック投稿者 t.harada

    (@tharada)

    jim912さん、何度もありがとうございます!

    お教えいただいたソースに少しだけ手を加えて目的を達成することが出来ました。

    <?php
    $parent_ids = array(187, 189 ,209);
    foreach ( $parent_ids as $id ) {
    	$first_posts = get_posts( 'numberposts=1&post_type=page&orderby=menu_order&order=ASC&post_parent=' . $id );
    	if ( $first_posts ) {
    		$post = $first_posts[0]; ?>
    	<div class="<?php if ($id=='184'): ?>work<?php elseif ($id=='189') : ?>voice<?php else : ?>webmag<?php endif; ?>">
    		<a href="<?php echo get_page_link(ID);?>"><?php the_post_thumbnail();?></a>
    		<a href="<?php echo get_page_link(ID);?>"><?php echo the_excerpt();?></a>
    	</div>
    	<?php }?>
    	<?php }?>

    お陰さまでとても勉強になりました。
    今までCMSはずっとNucleusを使っていたので、まだまだWordpressには慣れていませんが、少しづつ覚えていきたいと思います。
    ありがとうございました!

    フォーラム: 使い方全般
    返信が含まれるトピック: トップページに固定ページの抜粋を表示したい
    トピック投稿者 t.harada

    (@tharada)

    jim912さん、お返事ありがとうございます。

    恥ずかしいことに、PHPをゼロから書くほど知識がなく、お返事を頂いてから自分なりに調べつつコードを書いてみたのですが、全て意図通りになりませんでした。

    ど素人のコードで恐縮ですが、自分で書いたコードがこれです。

    $id = array(187, 189, 209);
    foreach ( $id as $post ){
    get_posts( 'numberposts=1&post_type=page&post_parent=187,189,209&orderby=menu_order&order=ASC' );}
    echo the_excerpt();

    どうも一行目から間違っているような気がしているのですが、実行しても何も表示されませんでした。

    取得できた配列の1つめを$postに代入

    特に、これをどう書けば良いのかが分からないままです…。

    大変恐縮ですが、もう少しだけヒントを頂けませんでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: トップページに固定ページの抜粋を表示したい
    トピック投稿者 t.harada

    (@tharada)

    お二人ともありがとうございます!
    以下のソースでとりあえずの目的は達成することが出来ました。

    <?php $excerpt_pages = get_posts( 'numberposts=-1&post_type=page&post_parent=187,189,209&orderby=menu_order&order=ASC' );
    if ( $excerpt_pages ) {
    	foreach ( $excerpt_pages as $post ) {
    		 ?>
    	<a href="<?php echo get_page_link(ID);?>"><?php echo the_excerpt();
    		the_post_thumbnail();?></a>
    	<?php }?>
    	<?php }?>

    ここでもう一つ厄介なことが…。
    上記ソースではページID187,189,209の子ページの抜粋を全て表示していますが、それぞれの親に属する最新の子ページのみの抜粋を表示出来ないものでしょうか?

    イメージとしてはこんな感じです。
    Home以外全て固定ページで187,189,209に属する子ページは今後増えていく予定です。
    Home
     └187
      └A(187の中では最新ページ)
      └B
      └…
     └189
      └C(189の中では最新ページ)
      └D
      └…
     └209
      └E(209の中では最新ページ)
      └F
      └…
    ※上記のような構成でHomeにA,C,Eの抜粋のみを表示。

    こういう場合は抜粋にこだわらない方がよいのでしょうか?

    トピック投稿者 t.harada

    (@tharada)

    pluto1234さん、ありがとうございます!
    まさにコレです!

    ただ、各固定ページは独自スラッグ、アイキャッチ画像はデフォルトサイズを使用しています(申しわけありません、最初のポストに書き忘れていました。)ので、ほんの少しだけ手を加えさせて頂きました。

    <?php
    $children = get_pages('parent=AのID&hierarchical=0');
    foreach ($children as $child) {
    ?>
    	<h3><?php echo esc_html($child->post_title);?></h3>
    <?php
    	$grandchildren = get_pages('parent='.$child->ID.'&hierarchical=0');
    	foreach ($grandchildren as $grandchild) {
    		$eye_catch = get_post_thumbnail_id($grandchild->ID);
    ?>
    		<div class="eye-catch"><a href="<?php echo get_page_link($grandchild->ID);?>"><?php echo wp_get_attachment_image($eye_catch);?></a></div>
    <?php
    	}
    }
    ?>

    お恥ずかしい限りですが、こんなことに1週間近く悩んでいました…。
    これでようやく解決出来ます。
    本当にありがとうございました!

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