admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce( 'awooc-nonce' ),
'product_qty' => __( 'Quantity: ', 'art-woocommerce-order-one-click' ),
'product_title' => __( 'Title: ', 'art-woocommerce-order-one-click' ),
'product_price' => __( 'Price: ', 'art-woocommerce-order-one-click' ),
'product_sku' => __( 'SKU: ', 'art-woocommerce-order-one-click' ),
'product_attr' => __( 'Attributes: ', 'art-woocommerce-order-one-click' ),
'product_data_title' => __( 'Information about the selected product', 'art-woocommerce-order-one-click' ),
'title_close' => __( 'Click to close', 'art-woocommerce-order-one-click' ),
)
);
}
/**
* Подключаем нужные стили и скрипты
*
* @since 2.0.0
*/
public function admin_enqueue_script_style() {
wp_enqueue_style( 'admin-awooc-styles', AWOOC_PLUGIN_URI . 'assets/css/admin-style.css', array(), AWOOC_PLUGIN_VER );
}
/**
* Вывод всплывающего окна
*
* @since 1.8.0
*/
public function popup_window_html() {
$elements = get_option( 'woocommerce_awooc_select_item' );
if ( ! is_array( $elements ) ) {
return;
}
include AWOOC_PLUGIN_DIR . '/includes/view/html-popup-window.php';
}
/**
* Включение кнопки Заказать в если нет цены в простых товарах
*
* @param bool $bool
* @param WC_Product $product
*
* @return bool
*/
public function disable_add_to_cart( $bool, $product ) {
$mode_catalog = get_option( 'woocommerce_awooc_mode_catalog' );
if ( 'dont_show_add_to_card' === $mode_catalog || ! $product->get_price() ) {
if ( is_product() ) {
add_filter( 'woocommerce_product_add_to_cart_text', array( $this, 'disable_text_add_to_cart_to_related' ) );
add_filter( 'woocommerce_product_add_to_cart_url', array( $this, 'disable_url_add_to_cart_to_related' ) );
return true;
}
return false;
} else {
return true;
}
}
/**
* Включение кнопки Заказать в если нет цены в вариациях
*
* @param bool $bool
* @param int $product_id
* @param WC_Product_Variable $variation
*
* @return bool
*
* @since 2.0.0
*/
public function hide_variable_add_to_cart( $bool, $product_id, $variation ) {
if ( 'on' === get_option( 'woocommerce_awooc_no_price' ) ) {
if ( ! $variation->get_price() ) {
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 );
$this->hide_button_add_to_card();
return false;
} else {
return true;
}
}
return true;
}
/**
* Вывод кнопки Заказать в зависимости от настроек
*
* @since 1.8.0
* @todo решить проблему скрытой кнопки В корзину если нет цены в Быстром просмотре
*/
public function add_custom_button() {
global $product;
$show_add_to_card = get_option( 'woocommerce_awooc_mode_catalog' );
switch ( $show_add_to_card ) {
case 'dont_show_add_to_card':
add_filter( 'woocommerce_product_add_to_cart_text', array( $this, 'disable_text_add_to_cart_to_related' ) );
add_filter( 'woocommerce_product_add_to_cart_url', array( $this, 'disable_url_add_to_cart_to_related' ) );
$this->hide_button_add_to_card();
awooc_html_custom_add_to_cart();
break;
case 'show_add_to_card':
if ( ! $product->get_price() ) {
$this->hide_button_add_to_card();
} else {
$this->show_button_add_to_card();
}
awooc_html_custom_add_to_cart();
break;
case 'in_stock_add_to_card':
if ( $product->is_on_backorder() || 0 === $product->get_price() || ! $product->get_price() || ! $product->is_in_stock() ) {
$this->hide_button_add_to_card();
awooc_html_custom_add_to_cart();
}
break;
}
}
/**
* Скрытие кнопки купить
*
* @since 1.8.0
* @since 1.8.3
*
* @return mixed|void
*/
public function hide_button_add_to_card() {
ob_start();
?>
array() ) );
}
/**
* Показ кнопки В корзину
*
* @since 1.8.0
*
* @return mixed|void
*/
public function show_button_add_to_card() {
ob_start();
?>
array() ) );
}
/**
* Замена урл на кнопках в похожих товарах на страницах товарах
*
*
* @since 1.8.0
*
* @param $url
*
* @return string
*/
public function disable_url_add_to_cart_to_related( $url ) {
global $product;
if ( is_product() ) {
$url = get_permalink( $product->get_id() );
}
return $url;
}
/**
* Замена текста на кнопках в похожих товарах на страницах товарах
*
* @since 1.8.0
*
* @param $text
*
* @return string
*/
public function disable_text_add_to_cart_to_related( $text ) {
if ( is_product() ) {
$text = __( 'Read more', 'woocommerce' );
}
return $text;
}
}