Woocommerce - 去除单个产品页面的超链接
我使用woocommerce,我想删除超链接到单个产品页面,因为我使用快速浏览功能来代替,使内容在Lightbox中弹出并使单个产品页面不需要。Woocommerce - 去除单个产品页面的超链接
但是,在购物车和迷你购物车链接中生成的链接到默认产品页面,因此我想将其删除。
我想要什么的购物车页面做的事:从产品缩略图删除超链接的单品页面我不是一个PHP专家本身,而是由以下this post一些进展。它在我的产品标题上工作,但它没有在购物车页面上的我的产品缩略图上工作。
这里是我的cart.php片断:
<td class="product-thumbnail">
<?php
$thumbnail = apply_filters('woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key);
if (! $product_permalink) {
echo $thumbnail;
} else {
printf('%s', $thumbnail);
}
?>
</td>
<td class="product-name" data-title="<?php _e('Product', 'woocommerce'); ?>">
<?php
if (! $product_permalink) {
echo apply_filters('woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key) . ' ';
} else {
echo apply_filters('woocommerce_cart_item_name', sprintf('%s', $_product->get_title()));
}
// Meta data
echo WC()->cart->get_item_data($cart_item);
// Backorder notification
if ($_product->backorders_require_notification() && $_product->is_on_backorder($cart_item['quantity'])) {
echo '<p class="backorder_notification">' . esc_html__('Available on backorder', 'woocommerce') . '</p>';
}
?>
</td>
我想对微型车的事:从产品缩略图和产品称号删除超链接的单品页面
,并从我的迷你cart.php的片段:(全尺寸小型cart.php代码here)
<?php
foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
$_product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key);
$product_id = apply_filters('woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key);
if ($_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters('woocommerce_widget_cart_item_visible', true, $cart_item, $cart_item_key)) {
$product_name = apply_filters('woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key);
$thumbnail = apply_filters('woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key);
$product_price = apply_filters('woocommerce_cart_item_price', WC()->cart->get_product_price($_product), $cart_item, $cart_item_key);
?>
<li class="<?php echo esc_attr(apply_filters('woocommerce_mini_cart_item_class', 'mini_cart_item', $cart_item, $cart_item_key)); ?>">
<?php
echo apply_filters('woocommerce_cart_item_remove_link', sprintf(
'<a href="%s" class="remove" title="%s" data-product_id="%s" data-product_sku="%s">×</a>',
esc_url(WC()->cart->get_remove_url($cart_item_key)),
__('Remove this item', 'woocommerce'),
esc_attr($product_id),
esc_attr($_product->get_sku())
), $cart_item_key);
?>
<?php if (! $_product->is_visible()) : ?>
<?php echo str_replace(array('http:', 'https:'), '', $thumbnail) . $product_name . ' '; ?>
<?php else : ?>
<?php echo str_replace(array('http:', 'https:'), '', $thumbnail) . $product_name . ' '; ?>
</a>
<?php endif; ?>
<?php echo WC()->cart->get_item_data($cart_item); ?>
<?php echo apply_filters('woocommerce_widget_cart_item_quantity', '<span class="quantity">' . sprintf('%s × %s', $cart_item['quantity'], $product_price) . '</span>', $cart_item, $cart_item_key); ?>
</li>
<?php
}
}
?>
尽管删除了<a href>
标记,但产品缩略图和产品标题仍为超链接。
请帮忙!!
对于cart.php 你可以改变这两条线
更换
printf('<a href="%s">%s</a>', esc_url($product_permalink), $thumbnail);
与
printf('%s', $thumbnail);
一第二
echo apply_filters('woocommerce_cart_item_name', sprintf('<a href="%s">%s</a>', esc_url($product_permalink), $_product->get_title()), $cart_item, $cart_item_key);
与
echo apply_filters('woocommerce_cart_item_name', sprintf('%s', $_product->get_title()), $cart_item, $cart_item_key);
,或者您可以使用过滤器来完成这项工作,如果您使用的是你的孩子,主题/ woocommerce /车子主题/ cart.php使变化 。
在迷你cart.php
更换
<a href="<?php echo esc_url($product_permalink); ?>">
<?php echo str_replace(array('http:', 'https:'), '', $thumbnail) . $product_name . ' '; ?>
</a>
与
<?php echo str_replace(array('http:', 'https:'), '', $thumbnail) . $product_name . ' '; ?>
页应在柒主题/ woocommerce /车/小型车。PHP
你为我提供的网页链接是订购页面,应该用于该页面订单的详细信息,item.php
这里你应该
取代echo apply_filters('woocommerce_order_item_name', $product_permalink ? sprintf('<a href="%s">%s</a>', $product_permalink, $item['name']) : $item['name'], $item, $is_visible);
echo apply_filters('woocommerce_order_item_name', $product_permalink ? sprintf('%s', $item['name']) : $item['name'], $item, $is_visible);
让我知道你是否可以分享页面的截图,如果它不适合你的话会更好,或者你可以让我创建一个伪造的订单,以便我可以检查它。
如果您遇到问题,请告诉我。
对cart.php的编辑工作就像一个魅力,我认为我的原始php文件有问题,所以我用默认模板覆盖它,做了编辑,它的工作!非常感谢你! 对迷你购物车的编辑并不知道。我尝试使用默认模板覆盖,并进行了与购物车页面相同的更改,但产品图片和标题仍处于超链接状态。 我在这里粘贴了我编辑过的minicart php文件:http://codepen.io/scrltt/pen/KrBBwW – SCRLTT
@SCRLTT如果已经有帮助,请注意它,我正在查看codepen片段。 –
@SCRLTT答案已更新,请检查。 –
你可以发布链接到你的网页? –