Woocommerce Admin всплывающая подсказка для пользовательского плагина

Я создаю свой плагин Woocommerce, и мне нужно поместить некоторый контент рядом со своими входами с помощью всплывающей подсказки. Я нашел эту функцию: wc_help_tip() от Woocommerce Docs но я не понимаю и не работает.

Вот мой код:

<?php
$tip = "test";
echo wc_help_tip($tip, false);
?>

Когда я отлаживал с F12, я видел содержимое диапазона:

<span class="woocommerce-help-tip" data-tip="test"></span>

Но ничего не появляется в интерфейсе.

Есть идеи по этому поводу? Или что-то еще, чтобы поставить родную подсказку WordPress?

РЕДАКТИРОВАТЬ : Мне нужно использовать его в пользовательской бэкэнд-странице администратора, а не в пользовательской и административной страницах woocommerce

1

Решение

Эта функция предназначена для бэкэнда…

Ниже у вас есть пример, который выведет подсказка в порядке редактирования страниц:

// Displayed in Order edit pages below order details on top first column
add_action( 'woocommerce_admin_order_data_after_order_details', 'displaying_tooltip_in_order_edit_pages', 10, 1 );
function displaying_tooltip_in_order_edit_pages( $order ){
?>
<p class="form-field form-field-wide wc-customer-custom">Some text with a tooltip <?php echo wc_help_tip("hello world"); ?></p>
<?php
}

Код помещается в файл function.php активной дочерней темы (или активной темы).

Проверено и работает.

введите описание изображения здесь

Поэтому, если вы добавите некоторый код для отображения некоторых пользовательских полей или контента на страницах администратора woocommerce через хуки, вы можете добавить эти подсказки с помощью wc_help_tip() функция

0

Другие решения

Вы должны добавить свой идентификатор экрана в WooCommerce. Использовать фильтр woocommerce_screen_ids

Пример:

add_filter('woocommerce_screen_ids', [ $this, 'set_wc_screen_ids' ] );

public function set_wc_screen_ids( $screen ){
$screen[] = 'your_screen_id';
return $screen;
}
1

Убедитесь, что вы поставили JS в TipTip для этого. Вот код, который может вам помочь. Скопируйте приведенный ниже код и вставьте туда, где ставятся все ваши файлы javascript.

<?php
wp_register_script( 'woocommerce_admin', WC()->plugin_url() . '/assets/js/admin/woocommerce_admin.js', array( 'jquery', 'jquery-blockui', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip' ), WC_VERSION );
$locale = localeconv();
$decimal = isset( $locale['decimal_point'] ) ? $locale['decimal_point'] : '.';

$params = array(
/* translators: %s: decimal */
'i18n_decimal_error' => sprintf( __( 'Please enter in decimal (%s) format without thousand separators.', 'woocommerce' ), $decimal ),
/* translators: %s: price decimal separator */
'i18n_mon_decimal_error' => sprintf( __( 'Please enter in monetary decimal (%s) format without thousand separators and currency symbols.', 'woocommerce' ), wc_get_price_decimal_separator() ),
'i18n_country_iso_error' => __( 'Please enter in country code with two capital letters.', 'woocommerce' ),
'i18_sale_less_than_regular_error' => __( 'Please enter in a value less than the regular price.', 'woocommerce' ),
'decimal_point' => $decimal,
'mon_decimal_point' => wc_get_price_decimal_separator(),
'strings' => array(
'import_products' => __( 'Import', 'woocommerce' ),
'export_products' => __( 'Export', 'woocommerce' ),
),
'urls' => array(
'import_products' => esc_url_raw( admin_url( 'edit.php?post_type=product&page=product_importer' ) ),
'export_products' => esc_url_raw( admin_url( 'edit.php?post_type=product&page=product_exporter' ) ),
),
);

wp_localize_script( 'woocommerce_admin', 'woocommerce_admin', $params );
wp_enqueue_script( 'woocommerce_admin' );
0
По вопросам рекламы [email protected]