我正在使用 Woocommerce 并且我已经集成了一些自定义字段以允许用户指定我稍后将附加到产品标题的新值。
我正在使用update_post_meta/get_post_meta来保存新信息。这部分工作正常。
然后我使用过滤器woocommerce_product_title来更新标题。这个过滤器在使用时工作正常,但在使用时$product->get_title()不会做任何事情,$product->get_name()这不是问题,因为在某些地方我不想附加新信息。
我还使用the_title了产品页面的过滤器。
基本上,我的代码如下所示,return_custom()函数将根据产品 ID 构建新信息。
function update_title($title, $id = null ) {
$prod=get_post($id);
if (empty($prod->ID) || strcmp($prod->post_type,'product')!=0 ) {
return $title;
}
return $title.return_custom($id);
}
function update_product_title($title, $product) {
$id = $product->get_id();
return $title.return_custom($id);
}
add_filter( 'woocommerce_product_title', 'update_product_title', 9999, 2);
add_filter( 'the_title', 'update_title', 10, 2 );
Run Code Online (Sandbox Code Playgroud)
将产品添加到购物车时会出现问题。使用的名称是默认名称,因此我下面的代码不足以更新购物车中使用的产品名称。通知邮件也是一样。我认为这是合乎逻辑的,因为电子邮件将使用购物车的信息。
我很确定一切都在内部发生,add_to_cart()但我找不到与产品名称相关的任何过滤器/挂钩。
如何确保购物车中使用的名称是好的?除了我已经在使用的过滤器/挂钩之外,为了将我的新信息附加到购物车中的产品标题,我还应该考虑哪些过滤器/挂钩?
我想确保在所有购物过程中都能看到新标题。从产品页面直到通知邮件。
这是我正在尝试创建的图像:
我曾尝试使用边界半径,但结果总是太圆。我正在寻找一个 CSS 解决方案(没有 SVG)。
.blade {
height: 300px;
width: 150px;
border-radius: 0 0 50% 50%;
border-left:20px solid #c0bfde;
border-right:20px solid #7b7ba0;
background:#e3e1f6
}Run Code Online (Sandbox Code Playgroud)
<div class="blade"></div>Run Code Online (Sandbox Code Playgroud)
更新:Firefox上不显示以下行为.
让我们从以下情况开始:
html {
background: red;
}
body {
margin: 0;
min-height: 100vh;
background-color: green;
}
div {
min-height: 50px;
background-color: pink;
margin-bottom: 50px;
}Run Code Online (Sandbox Code Playgroud)
<div></div>Run Code Online (Sandbox Code Playgroud)
身体用a定义,min-height:100vh我们有一个滚动条,让我们可以看到html.在这里我们有一个保证金塌陷,的边缘div被折叠与机身保证金,从而创造了身体和滚动条后,这个空间.
如果我们参考规范,我们就有这种情况:
当且仅当以下情况时,两个边距相邻:
...
如果父项具有"自动"计算高度,则最后一个流入子项的下边距和其父项的下边距
这div是最后一个流入元素,body并且高度自动,因为我们只指定了最小高度.
现在让我们添加更多可能受此边际影响的元素,并保持边距折叠规则.唯一的方法是添加浮动元素以保持我们div始终是最后一个in-flow元素.
这是新代码:
html {
background: red;
}
body {
margin: 0;
min-height: 100vh;
background-color: green;
}
div {
min-height: 50px;
background-color: pink;
margin-bottom: 50px;
}
.l { …Run Code Online (Sandbox Code Playgroud)单击任何我想要获取父ul标签ID的列表时,我从列表中获得HTML元素的无序列表。
<ul id="123">
<li>
<li>test1</li>
<a href="#" onclick="validate()"/>
</li>
</li>
........
........
</ul>
function validate(){
var test=$(this).parent().parent().attr('id');
alert(test);
}
Run Code Online (Sandbox Code Playgroud)
上面的验证功能测试变量结果应包含ul标记ID,即123。
css ×2
html ×2
cart ×1
css-float ×1
css-shapes ×1
css3 ×1
javascript ×1
jquery ×1
margin ×1
php ×1
woocommerce ×1
wordpress ×1