我下载了Berocket Ajax过滤器插件,它改变了我的URL查询字符串的格式,现在我的获取产品图片的功能将不起作用。
这是我获取查询字符串的方式;。
<php$filter_colour=$_get['filter_colour'];?gt;
< /代码>
当我的查询字符串是这样的时候,这就很好地工作了;
www.website.co.uk/?filter_color=blue&filter_type_of_light=something
< /代码>
但是现在我只能通过改变插件中的设置来获得如下查询字符串;。
www.website.co.uk/?滤光器=灯的类型[550]颜色[569]
www.website.co.uk/?过滤器=灯的类型[天花板灯]颜色[粉色]
www.website.co.uk/filters/type of light=天花板灯&colour=绿色
< /代码>
我怎样才能用这些链接在url中获取颜色的值呢?
在WordPress的PermaLinks选项卡中也有这些设置,我可以使用它们来更改查询字符串;。



这些是我在插件中用于查询字符串的选项;。

下面是我使用的函数$\u get获取颜色值,我使用此函数设置产品上的图像;。
remove_action('woocommerce_before_shop_loop_item_title'、'woocommerce_template_loop_product_thumbnail',10);
添加“动作”(“WooCommerce”在“购物”前,“循环”项目标题,“设置产品图像”,10);
函数集_product_image()。{
全球美元产品;
如果($product->是_type(“variable”)){
//第一个变量的颜色
$default_image='';
foreach($product->获取\u visible_children()作为$variation_id){
$variation=wc_get_product($variation_id);
$product_colour=strtolower($variation->get_attribute('colour'));
//获取第一个变量
如果($default_image=''){
$default_image=$variation->获取_image(数组(300,300));
}
$filter_colour=$获取[颜色];
如果($product_colour=$filter_colour){
//如果应用了筛选器,则返回echo并返回
echo$variation->获取图像(数组(300,300));
返回;
}
}
//未应用筛选器,返回默认图像
echo$默认图像;
}
否则,如果($product->是_类型(“简单”)){
if(has_post_thumbnail()){
echo$product->获取图像(数组(300,300));
}否则{
echo'<img src=“https://website.co.uk/wp content/themes/dist/images/placeholder.png”>';
}
}
}
< /代码> <不起作用。
这就是我获取查询字符串的方式;
<php $filter_colour = $_GET['filter_colour']; ?>
当我的查询字符串是这样的时候,这就很好地工作了;
www.website.co.uk/?filter_color=blue&filter_type_of_light=something
但是现在我只能通过修改插件中的设置来获得如下查询字符串:
www.website.co.uk/?filters=type-of-light[550]|colour[569]
www.website.co.uk/?filters=type-of-light[ceiling-lights]|colour[pink]
www.website.co.uk/filters/type-of-light=ceiling-lights&colour=green
我怎样才能用这些链接在url中获取颜色的值呢?
在WordPress的PermaLinks选项卡中也有这些设置,我可以使用它们来更改查询字符串;



这些是我在插件中用于查询字符串的选项;

这里是我使用的函数,我用它来获取颜色值,我用这个函数来设置产品上的图像;
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10);
add_action( 'woocommerce_before_shop_loop_item_title', 'set_product_image', 10);
function set_product_image() {
global $product;
if( $product->is_type('variable') ){
// color of first variation
$default_image = '';
foreach ( $product->get_visible_children() as $variation_id ){
$variation = wc_get_product( $variation_id );
$product_colour = strtolower( $variation->get_attribute('colour') );
// get first variation
if( $default_image == '' ){
$default_image = $variation->get_image( array(300, 300) );
}
$filter_colour = $_GET['colour'];
if( $product_colour == $filter_colour){
// if filter applied, echo and return
echo $variation->get_image( array(300, 300) );
return;
}
}
// filter not applied, return default image
echo $default_image ;
}
else if( $product->is_type('simple') ){
if ( has_post_thumbnail() ) {
echo $product->get_image( array(300, 300) );
}else{
echo '<img src="https://website.co.uk/wp-content/themes/dist/images/placeholder.png">';
}
}
}