我正在尝试显示自定义文本'仅在单个产品页面上登录用户',但仅在$wpdb->postmeta
,metafield
<时才可见。strong> 'show'
有值 'yes'
,来自当前 'post_id'
。
我找不到正确的SQL查询来实现当前产品 POST_ID 加载单个产品页面时。
这是我的代码:
function show_text() {
global $wpdb;
$post_id_number = get_the_id();
$meta = $wpdb->get_results( "select * from $wpdb->wp_postmeta WHERE meta_key = 'show' AND meta_value = 'yes'" );
if ( $meta == TRUE ) {
echo '<p>PRice is only visible for logged in users</p>';
}
}
add_action( 'woocommerce_before_single_product', 'show_text' );
您只需使用WordPress get_post_meta()
功能:
add_action( 'woocommerce_before_single_product', 'show_custom_text' );
function show_custom_text() {
global $post;
if ( get_post_meta( $post->ID, 'show', true ) == 'yes' && ! is_user_logged_in() ) {
echo '<p>PRice is only visible for logged in users</p>';
}
}
代码在您的活动子主题(或活动主题(的function.php文件中。它应该起作用。