Добрый день, я пытаюсь проверить, был ли продукт создан пользователем, и если нет, кнопка добавления в корзину должна быть удалена.
Я работаю в магазине, в котором зарегистрированный пользовательМожно создать продукт из внешнего интерфейса.Я добавил этот аргумент для создания продукта из внешнего интерфейса;
$post = array(
'post_author' => $currentCOUser_ID // This Return the User's ID using wp_get_current_user()->ID
'post_status' => "publish",
'post_excerpt' => $pProduct_excerpt,
'post_title' => $ProductTitle,
'post_type' => "product",
);
//create product for product ID
$product_id = wp_insert_post( $post, __('Cannot create product', 'izzycart-function-code') );
Когда продукт создан, я только хочу, чтобы автор и администратор могли видеть кнопку «Добавить в корзину» на отдельной странице продукта.Я использовал приведенный ниже код, но не работал:
function remove_product_content() {
global $post;
$current_user = wp_get_current_user();
$product_author_id = $current_user->ID;
$admin_role = in_array( 'administrator', (array) $current_user->roles );
//check if is a product & user is logged in and is either admin or the author
//is a product and user is not logged in, remove add to cart
//is a product and user is logged in and not either admin or product author, remove add to cart button
if ( is_product() && is_user_logged_in() && (!$admin_role || $product_author_id != $post->post_author) ) {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
}
}
add_action( 'wp', 'remove_product_content' );
, когда я запускаю приведенный выше код, он полностью скрывает кнопку добавления в корзину от всех.Не уверен, что я делаю не так.Спасибо за вашу помощь.