在 Woocommerce 单个产品的标题前添加链接的特定产品属性
Add linked specific product attribute before title on Woocommerce single products
在 WooCommerce 中,我试图在单个产品页面的产品标题前添加“pa_artist”产品属性,如下所示:
pa_attribute – 产品标题
我希望“艺术家”产品属性术语名称自动列在标题前。我设法使用 .
将属性添加到产品标题
我需要为“艺术家”产品属性术语名称添加一个活动 link,以显示该属性术语名称的产品。
基于Add specific product attribute after title on Woocommerce single products,您可以轻松更改代码以在 WooCommerce 单个产品页面上的产品标题前添加特定的产品属性,如下所示:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'custom_template_single_title', 5 );
function custom_template_single_title() {
global $product;
$taxonomy = 'pa_artist';
$artist_terms = get_the_terms( $product->get_id(), $taxonomy ); // Get the post terms array
$artist_term = reset($artist_terms); // Keep the first WP_term Object
$artist_link = get_term_link( $artist_term, $taxonomy ); // The term link
echo '<h1 class="product_title entry-title">';
if( ! empty($artist_terms) ) {
echo '<a href="' . $artist_link . '">' . $artist_term->name . '</a> - ';
}
the_title();
echo '</h1>';
}
代码进入活动 child 主题(或活动主题)的 functions.php 文件。已测试并有效。
添加: 对于 多个 链接的产品属性术语,请改用以下内容:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'custom_template_single_title', 5 );
function custom_template_single_title() {
global $product;
$taxonomy = 'pa_artist';
$artist_terms = get_the_terms( $product->get_id(), $taxonomy ); // Get the WP_terms array for current post (product)
$linked_terms = []; // Initializing
// Loop through the array of WP_Term Objects
foreach ( $artist_terms as $artist_term ) {
$artist_link = get_term_link( $artist_term, $taxonomy ); // The term link
$linked_terms[] = '<a href="' . $artist_link . '">' . $artist_term->name . '</a>';
}
if( ! empty($linked_terms) ) {
echo '<h1 class="product_title entry-title">' . implode( ' ', $linked_terms) . ' - ';
the_title();
echo '</h1>';
}
}
在 WooCommerce 中,我试图在单个产品页面的产品标题前添加“pa_artist”产品属性,如下所示:
pa_attribute – 产品标题
我希望“艺术家”产品属性术语名称自动列在标题前。我设法使用
我需要为“艺术家”产品属性术语名称添加一个活动 link,以显示该属性术语名称的产品。
基于Add specific product attribute after title on Woocommerce single products,您可以轻松更改代码以在 WooCommerce 单个产品页面上的产品标题前添加特定的产品属性,如下所示:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'custom_template_single_title', 5 );
function custom_template_single_title() {
global $product;
$taxonomy = 'pa_artist';
$artist_terms = get_the_terms( $product->get_id(), $taxonomy ); // Get the post terms array
$artist_term = reset($artist_terms); // Keep the first WP_term Object
$artist_link = get_term_link( $artist_term, $taxonomy ); // The term link
echo '<h1 class="product_title entry-title">';
if( ! empty($artist_terms) ) {
echo '<a href="' . $artist_link . '">' . $artist_term->name . '</a> - ';
}
the_title();
echo '</h1>';
}
代码进入活动 child 主题(或活动主题)的 functions.php 文件。已测试并有效。
添加: 对于 多个 链接的产品属性术语,请改用以下内容:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'custom_template_single_title', 5 );
function custom_template_single_title() {
global $product;
$taxonomy = 'pa_artist';
$artist_terms = get_the_terms( $product->get_id(), $taxonomy ); // Get the WP_terms array for current post (product)
$linked_terms = []; // Initializing
// Loop through the array of WP_Term Objects
foreach ( $artist_terms as $artist_term ) {
$artist_link = get_term_link( $artist_term, $taxonomy ); // The term link
$linked_terms[] = '<a href="' . $artist_link . '">' . $artist_term->name . '</a>';
}
if( ! empty($linked_terms) ) {
echo '<h1 class="product_title entry-title">' . implode( ' ', $linked_terms) . ' - ';
the_title();
echo '</h1>';
}
}