1

私は友人がワードプレスのテーマにいくつかの変更を加えるのを手伝っています。現時点では、サブページの表示は1つの親とそのサブページ(ID 31のサブページ)に対してのみ機能しますが、すべてのページ(およびその子)に対して機能するようにします。私は多かれ少なかれコードをそのままにしておきたいのですが、すべてに適用するために必要な変更を加えるだけです。

私はcssとhtmlはかなり得意ですが、phpは私の強いスーツではないので、これを理解するためにあなたの助けをいただければ幸いです。これは既存のコードです:

$currentPageId = get_the_ID();

$pages = get_pages('child_of=31');
$i=0;
foreach($pages as $child) {
$childrenPageID[$i] = $child->ID;
$i++;
}

if ( (get_the_ID() == 31) || ( in_array($currentPageId, $childrenPageID)) ) {  

    $taxonomy     = 'portfoliocat';
    $orderby      = 'name'; 
    $show_count   = 0;      // 1 for yes, 0 for no
    $pad_counts   = 0;      // 1 for yes, 0 for no
    $child_of     = 5;
    $show_count   = 1;
    $title_li     = null;


    $args = array(
      'taxonomy'     => $taxonomy,
      'orderby'      => $orderby,
      'show_count'   => $show_count,
      'pad_counts'   => $pad_counts,
      'child_of'     => $child_of,
      'show_count'   => $show_count,
      'title_li' => $title_li 
    );

    ?>

    <div style="overflow:auto; margin-bottom:20px;">
        <ul style="list-style-type:none; margin-left: 0px;">
        <?php
        $cat = get_query_var('cat');

        // count all categories
        $totalCount = count(get_categories($args));
        $currentCount = 0;

        foreach(get_categories($args) as $category) {

            // get current number of stack
        $currentCount = $currentCount + 1;

        global $wpdb;
        $lookForValue = $category->slug;

        $querystr = "SELECT post_id
                     FROM $wpdb->postmeta
                     WHERE meta_key = 'category-include' AND meta_value = '".$lookForValue."';
        ";
        $postid = $wpdb->get_var($wpdb->prepare($querystr));

            // logic to remove last trunk
            if ($totalCount != $currentCount  ) {
            echo '<li class="cat-item"><a class="name" style="font-weight:bold" href="/?page_id='.$postid.'">' . $category->name.'</a>&nbsp;&nbsp;&nbsp;<span style="color: #999;">|</span>&nbsp;</li>';
            }
            else {
            echo '<li class="cat-item"><a class="name" style="font-weight:bold" href="/?page_id='.$postid.'">' . $category->name.'</a></li>';   
            }
        }?>
        </ul>
   </div>

 }

if句を変更する必要があると思いますが、何に置き換えるかわかりません。助言がありますか?

前もって感謝します!ジョアンナ

4

1 に答える 1

0
// If CHILD_OF is not NULL, then this page has a parent
// Therefore, list siblings i.e. subpages of this page's parent

if($post->post_parent){
    wp_list_pages('title_li=&include='.$post->post_parent);
    wp_list_pages('title_li=&child_of='.$post->post_parent);
}else{
    // If CHILD_OF is zero, this is a top level page, so list subpages only.
    wp_list_pages('title_li=&include='.$post->ID);
    wp_list_pages('title_li=&child_of='.$post->ID);
}
于 2012-09-18T14:37:19.330 に答える