无法在 PHP 代码段中访问 Woocommerce $product class
Woocommerce $product class can't be accessed inside PHP snippet
我正在尝试使用 WordPress 中的“Woody Snippets”编写 PHP 代码以在我的产品页面上显示额外字段。但是我无法访问我的代码段中的 $product class 。是不可能还是我做错了什么?
这是我的代码:
global $product;
$seller = get_post_field( 'post_author', $product->get_id());
$author = get_user_by( 'id', $seller );
$store_info = dokan_get_store_info( $author->ID );
?>
<span class="details">
<?php printf('Call me at <a href="tel:%s">%s</a>', $store_info['phone'], $store_info['phone']) ?>
</span>
我意识到问题的原因是我的主题。我的主题使用模板来查看帖子、产品、商店页面等帖子。因此,woocommerce 产品页面 ID 指向模板的 ID,并且该页面上没有可访问的 $product class。于是通过查询找到了解决方法,如下
global $wp;
global $wp_query;
$productid = url_to_postid(home_url( $wp->request));
$postdata = get_postdata($productid);
$authorID = $postdata['Author_ID'];
$store_info = dokan_get_store_info( $authorID );
?>
<span class="details">
<?php printf('<a href="tel:%s">%s</a>',
$store_info['phone'], $store_info['phone']) ?>
</span>
我正在尝试使用 WordPress 中的“Woody Snippets”编写 PHP 代码以在我的产品页面上显示额外字段。但是我无法访问我的代码段中的 $product class 。是不可能还是我做错了什么?
这是我的代码:
global $product;
$seller = get_post_field( 'post_author', $product->get_id());
$author = get_user_by( 'id', $seller );
$store_info = dokan_get_store_info( $author->ID );
?>
<span class="details">
<?php printf('Call me at <a href="tel:%s">%s</a>', $store_info['phone'], $store_info['phone']) ?>
</span>
我意识到问题的原因是我的主题。我的主题使用模板来查看帖子、产品、商店页面等帖子。因此,woocommerce 产品页面 ID 指向模板的 ID,并且该页面上没有可访问的 $product class。于是通过查询找到了解决方法,如下
global $wp;
global $wp_query;
$productid = url_to_postid(home_url( $wp->request));
$postdata = get_postdata($productid);
$authorID = $postdata['Author_ID'];
$store_info = dokan_get_store_info( $authorID );
?>
<span class="details">
<?php printf('<a href="tel:%s">%s</a>',
$store_info['phone'], $store_info['phone']) ?>
</span>