0

これは、David DeSandro の Isotope に基づいて組み合わせフィルターを作成する最初のショットです。この関数は、私の Web サイトに既に実装されている Isotope フィルターに基づいて作成しました。WordPress のカテゴリを出力し、Isotope フィルタとして実装します。現在のところ、すべてが非常にうまく機能しています。私がやろうとしているのは、データを抽出した後、各 if elseif ステートメントを独自の列にスタイル設定することです。例えば:

**<div class="column"><--I would like to add a div like this here**

    elseif (cat_is_ancestor_of(156, $filtered)) {
        $option .= '<li class="child-style" data-link="'.$filtered->slug.'">';
        $option .= '<a href="" title="'.$filtered->slug.'">';
        $option .= '&nbsp;&nbsp;&nbsp;';
        $option .= $filtered->name;
        $option .= '</a></li>';
   }

**</div><--and here**

以下は、これを達成するために私が書いた関数の始まりです。今のところ動作しますが、データ (この場合はカテゴリと子カテゴリ) をきちんとした 1 つの列のリストに出力します。最終的には、各親が独自の列に表示されるように、このカテゴリのリストのスタイルを設定したいと考えています。

これは、このエラーを取得せずに if、elseif ステートメントを div で区切る方法を見つけることができないため、私が困難に直面しているところです: Parse error: syntax error, unexpected 'elseif' (T_ELSEIF) in /Users/djmorigeau/localhost/wordpress/wp-content/themes/skittles-child/functions.php on line 89. <div class="col_3">code</div>これは、結果を列にグループ化する方法についてのアイデアがあれば、各 if、elseif ステートメントをラップしたときに受け取るエラーです。

function color_filter($categories, $type = 'blog') {

    $catArgs = array(
    'type'                     => 'post',
    'child_of'                 => 0,
    'parent'                   => '',
    'orderby'                  => 'name',
    'order'                    => 'ASC',
    'hide_empty'               => 1,
    'hierarchical'             => 1,
    'taxonomy'                 => 'category',
    'pad_counts'               => false );


    $catList = get_categories($catArgs);

    if(isset($categories[0])) {
        $categories = unserialize($categories[0]);

        if (function_exists('color_filter')) {

        $option = '<div class="megamenu_container megamenu_dark_bar megamenu_dark"><ul class="megamenu">';
        $option .= '<li><a class="megamenu_drop" href="#">Filter<em class="dropdown-arrow"></em></a>';
        $option .= '<div class="dropdown_fullwidth"><div class="mpcth-'.$type.'-categories mpcth-filterable-categories">';
        $option .= '<ul>';
        $option .= '<li class="active" data-link="post"><a href="#">'.__('All', 'mpcth').'</a></li>';

            foreach ($catList as $filtered) {

                if((isset($categories[$filtered->slug]) && $categories[$filtered->slug] == 'on') || !isset($categories[$filtered->slug])) {

                    if (cat_is_ancestor_of(37, $filtered)) {
                    $option .= '<li class="child-style" data-link="'.$filtered->slug.'">';
                    $option .= '<a href="" title="'.$filtered->slug.'">';
                    $option .= '&nbsp;&nbsp;&nbsp;';
                    $option .= $filtered->name;
                    $option .= '</a></li>';
                    }

                    elseif (cat_is_ancestor_of(156, $filtered)) {
                    $option .= '<li class="child-style" data-link="'.$filtered->slug.'">';
                    $option .= '<a href="" title="'.$filtered->slug.'">';
                    $option .= '&nbsp;&nbsp;&nbsp;';
                    $option .= $filtered->name;
                    $option .= '</a></li>';
                    }

                    elseif (cat_is_ancestor_of(176, $filtered)) {
                    $option .= '<li class="child-style" data-link="'.$filtered->slug.'">';
                    $option .= '<a href="" title="'.$filtered->slug.'">';
                    $option .= '&nbsp;&nbsp;&nbsp;';
                    $option .= $filtered->name;
                    $option .= '</a></li>';
                    }

                    elseif (cat_is_ancestor_of(188, $filtered)) {
                    $option .= '<li class="child-style" data-link="'.$filtered->slug.'">';
                    $option .= '<a href="" title="'.$filtered->slug.'">';
                    $option .= '&nbsp;&nbsp;&nbsp;';
                    $option .= $filtered->name;
                    $option .= '</a></li>';
                    }

                    else {
                    $option .= '<li data-link="'.$filtered->slug.'">';
                    $option .= '<a href="" title="'.$filtered->slug.'">'.$filtered->name.'</a></li>';
                    }
                }
            }
                $option .= '</ul></div></div></li></ul></div>';
                echo $option; 
        }
    }
}
4

1 に答える 1

0

私はあなたがこれを意味すると思います:

elseif(...) {

     $option .= '<div class="column">';

     // your code

     $option .= '</div>';

}

またはこれを意味します:

$done = false;

$option .= '<div class="column">';
if (cat_is_ancestor_of(37, $filtered)) {
    // your code
    $done = true;
}
$option .= '</div>';

$option .= '<div class="column">';
if (!$done && cat_is_ancestor_of(156, $filtered)) {
    // your code
    $done = true;
}
$option .= '</div>';

$option .= '<div class="column">';
if (!$done && cat_is_ancestor_of(176, $filtered)) {
    // your code
    $done = true;
}
$option .= '</div>';

$option .= '<div class="column">';
if (!$done && cat_is_ancestor_of(188, $filtered)) {
    // your code
    $done = true;
}
$option .= '</div>';

$option .= '<div class="column">';
if (!$done) {
    // your code
}
$option .= '</div>';
于 2013-06-02T19:18:47.590 に答える