创建布尔函数以在 WooCommerce 中显示图像
Create Boolean function to display an image in WooCommerce
我想创建一个函数,它允许我显示图像,这要归功于自定义字段,该字段的布尔值是“true”或“false”,并且会使用产品的 slug 名称,但是我只是一个初学者,我在实现它时遇到了一些困难,你能帮我吗!
这是我当前的代码:
function custom_title_field() {
global $product;
$product = get_post( $post_id );
$slug = $product->post_name;
// Get the field name of InputText1
$label = get_post_meta($product, 'title', true);
if( is_product( $post_id ) ){
return '<h1 class="display-3"><img class="" src="'. get_template_directory_uri() .'/inc/assets/img/shop/hero/'.$slug.'_title.svg" alt="Six Stars" data-inject-svg /></h1>';
}
}
并将此代码放入我的单个 product.php 文件中:
<?php
// get the post ID outside the Loop
$post_id = get_queried_object_id();
// print the <img>
echo custom_title_field( $post_id );
?>
在这段代码中,图像显示良好,但是当没有图像可显示时,代码显示一个空的 wh1> 元素
我不确定我的解释是否清晰易懂,所以我为它创建了一个描述性图片!
如果您有任何问题,请告诉我。
尝试以下操作:
function custom_title_field( $post_id ) {
if( is_product( $post_id ) && get_post_meta( $post_id, 'title', true ) ){
$post = get_post( $post_id );
$slug = $post->post_name;
return '<h1 class="display-3"><img class="" src="'. get_template_directory_uri() .'/inc/assets/img/shop/hero/'.$slug.'_title.svg" alt="Six Stars" data-inject-svg /></h1>';
}
}
对于您的模板single-product.php
:
<?php echo custom_title_field( get_the_id() ); ?>
应该可以解决您的问题
我想创建一个函数,它允许我显示图像,这要归功于自定义字段,该字段的布尔值是“true”或“false”,并且会使用产品的 slug 名称,但是我只是一个初学者,我在实现它时遇到了一些困难,你能帮我吗!
这是我当前的代码:
function custom_title_field() {
global $product;
$product = get_post( $post_id );
$slug = $product->post_name;
// Get the field name of InputText1
$label = get_post_meta($product, 'title', true);
if( is_product( $post_id ) ){
return '<h1 class="display-3"><img class="" src="'. get_template_directory_uri() .'/inc/assets/img/shop/hero/'.$slug.'_title.svg" alt="Six Stars" data-inject-svg /></h1>';
}
}
并将此代码放入我的单个 product.php 文件中:
<?php
// get the post ID outside the Loop
$post_id = get_queried_object_id();
// print the <img>
echo custom_title_field( $post_id );
?>
在这段代码中,图像显示良好,但是当没有图像可显示时,代码显示一个空的 wh1> 元素
我不确定我的解释是否清晰易懂,所以我为它创建了一个描述性图片!
如果您有任何问题,请告诉我。
尝试以下操作:
function custom_title_field( $post_id ) {
if( is_product( $post_id ) && get_post_meta( $post_id, 'title', true ) ){
$post = get_post( $post_id );
$slug = $post->post_name;
return '<h1 class="display-3"><img class="" src="'. get_template_directory_uri() .'/inc/assets/img/shop/hero/'.$slug.'_title.svg" alt="Six Stars" data-inject-svg /></h1>';
}
}
对于您的模板single-product.php
:
<?php echo custom_title_field( get_the_id() ); ?>
应该可以解决您的问题