【发布时间】:2017-08-02 08:16:36
【问题描述】:
我正在尝试在不使用插件的情况下将“每页产品”下拉列表添加到我的 woocommerce 店面子主题中。我将以下代码添加到我的functions.php source
add_action( 'woocommerce_before_shop_loop', 'ps_selectbox', 25 );
function ps_selectbox() {
$per_page = filter_input(INPUT_GET, 'perpage', FILTER_SANITIZE_NUMBER_INT);
echo '<div class="woocommerce-perpage">';
echo '<span>Per Page: </span>';
echo '<select onchange="if (this.value) window.location.href=this.value">';
$orderby_options = array(
'8' => '8',
'16' => '16',
'32' => '32',
'64' => '64'
);
foreach( $orderby_options as $value => $label ) {
echo "<option ".selected( $per_page, $value )." value='?perpage=$value'>$label</option>";
}
echo '</select>';
echo '</div>';
}
add_action( 'pre_get_posts', 'ps_pre_get_products_query' );
function ps_pre_get_products_query( $query ) {
$per_page = filter_input(INPUT_GET, 'perpage', FILTER_SANITIZE_NUMBER_INT);
if( $query->is_main_query() && !is_admin() && is_post_type_archive( 'product' ) ) {
$query->set( 'posts_per_page', $per_page );
}
}
当我这样做时,下拉框会显示,但我选择的任何选项都会让我回到主题的首页。
谁能帮帮我?
【问题讨论】:
-
woocommerce中有短代码
-
你有一个如何使用简码添加下拉菜单的例子吗?
标签: php jquery wordpress woocommerce