1

ワードプレスのテーマを作成していて、フッターで使用する4つのサイドバーを作成しました。アクティブなサイドバーの数に応じて、これらの4つのサイドバーの動的な幅を設定する必要があります。

たとえば、footer1サイドバーのみをアクティブにしている場合、彼の幅は100%にする必要があります。

footer1とfooter2、またはfooter1とfooter4、またはfooter2とfooter3がアクティブな場合、それらは50%である必要があります。

私がそれらのうちの3つをアクティブにしている場合33%

そして、私がそれらを4つすべて持っている場合、それぞれが25%の幅になるはずです。

繰り返しになりますが、これらは1つのサイドバーでアクティブなウィジェットではなく、4つすべてが別々のサイドバーです。

これは、「switch」および「case」php関数、または「if」を使用して実行できると思いますが、それらをカウントする方法がわかりません。

4

1 に答える 1

3

wp_get_sidebars_widgetsサイドバーとそのウィジェットの連想配列を返すを使用できるようです。

それを念頭に置いて、サイドバーの幅を設定するためにこのようなことを行うことができます。幅を指定するために選択した名前と一致するCSSクラスを作成する必要があります。

$sidebars = wp_get_sidebars_widgets();
$count = count($sidebars['sidebar-area-name']);
$class_name = 'widget_count-' . $count;

// an alternative to a class would be
// $width = round(100 / $count);
于 2012-09-10T00:08:31.587 に答える