Я новичок в разработке плагинов для Wordpress, и у меня есть идея простого плагина на основе woocommerce. Мне нужен этот плагин, чтобы делать что-то только на страницах одного продукта, но я вообще не могу понять, как добавить действие, когда продукт загружается, чтобы что-то сделать.
У кого-нибудь есть опыт с этим?
В моем плагине я попытался просто заставить это работать с некоторым кодом
public function get_product_variation_data() {
function get_data() {
echo '<script>';
echo "console.info('beep');";
echo '</script>';
}
add_action( 'woocommerce_after_single_product', 'get_data' );
}
Но, похоже, это вообще не работает на моей странице продукта. Может быть, мне нужно прикрепить другой крючок?
Я не видел, что вы ответили, когда я разместил свой, но если это важно для вас, я могу удалить его и попросить Джордана принять ваше ..






Вам необходимо добавить в конструктор вашего плагина __construct() следующее:
add_action( 'woocommerce_after_single_product', array( $this, 'get_product_variation_data' ), 5 );
Затем вне конструктора:
public function get_product_variation_data() {
?>
<script> console.info('beep'); </script>
<?php
}
Это должно сработать…
Остерегайтесь одинарных кавычек. Вам нужно избегать окружающих звуков звукового сигнала или заключать двойные кавычки. И замените this на $this.
Попробуй это :
class PluginTest {
public function __construct(){
add_action( 'woocommerce_after_single_product', array($this, 'get_product_variation_data'));
}
public function get_product_variation_data(){
echo '<script>';
echo "console.info('beep');";
echo '</script>';
}
}
$plugin_test = new PluginTest();
Хорошо, что вы добавили недостающие кавычки в "get_product_variation_data"…
Извините, но я ответил раньше, чем Алекс… Так что это не совсем справедливо, поскольку мой ответ объясняет то же, что и его ответ. Я надеюсь, что вы примете это во внимание.