Size: a a a

WordPress Russian Community

2021 September 17

AV

Alexander Vasilyev in WordPress Russian Community
add_action(“init”, [$object, “method”]);
источник

AV

Alexander Vasilyev in WordPress Russian Community
Или там другой вопрос )
источник

AL

Anton Latul-Sherbako... in WordPress Russian Community
class WebacodersServiceLikes
{
   private $db;

   public function __construct()
   {
       $this->db = $GLOBALS['wpdb'];
       $this->__init();
   }

   public function __createLikesTable()
   {
       $db = $this->db;
       require_once ABSPATH . 'wp-admin/includes/upgrade.php';
       $table_name = $db->get_blog_prefix() . 'likes';
       $charset_collate = "DEFAULT CHARACTER SET {$db->charset} COLLATE {$db->collate}";
       $sql = "CREATE TABLE {$table_name} (
     id  bigint(20) unsigned NOT NULL auto_increment,
     post_id INT NOT NULL default '',
     ip TEXT NOT NULL default '',
     like_count INT NOT NULL default '',
     PRIMARY KEY  (id),
 )
 {$charset_collate};";
       dbDelta($sql);
   }
   function __likes_settings_menu_page(){
       add_menu_page(
           'Настройки Сервиса лайков', // тайтл страницы
           'Лайки', // текст ссылки в меню
           'manage_options', // права пользователя, необходимые для доступа к странице
           'likes_settings', // ярлык страницы
           'front_likes_settings', // функция, которая выводит содержимое страницы
           'dashicons-heart', // иконка, в данном случае из Dashicons
           4 // позиция в меню
       );
   }
   public function __init()
   {
       try{
           $db = $this->db;
           $table_name = $db->get_blog_prefix() . 'options';
           $data = [
               'option_id' => null,
               'option_name' => 'active_likes_service',
               'option_value' => 0,
               'autoload' => 'yes',
           ];
           $query = $db->insert($table_name, $data);
           if($query == 1){
               return true;
           }
       }catch (Exception $e){
           echo "Ошибка инициализации сервиса".'<br>'.$e->getMessage();
       }
   }
   public function __checkStatusService(){
       $val = get_option('active_likes_service');
       return $val;
   }
   public function start(){
       $status = boolval($this->__checkStatusService());
       if($status){
           return "Сервис уже запущен";
       }else{
           $this->__init();
           if($this->__init()){
               return "Сервис успешно активирован";
           }else{
               return $this->__init();
           }

       }
   }
   public function activate(){
       $status = boolval($this->__checkStatusService());
       if($status){
           return "Сервис уже активирован";
       }else{
           try{
               $this->__init();
               add_action('admin_menu', '__likes_settings_menu_page', 4); //вот тут вопрос... если я вызываю action из своего метода, я могу передать ему $this->____likes_settings_menu_page или нет
           }catch (Exception $e){
               echo "Ошибка активации сервиса".'<br>'.$e->getMessage();
           }



       }
   }
}
источник

АП

Артём Приходько... in WordPress Russian Community
ты хочешь просто вызвать метод? тогда создать объект и вызвать его
источник

AL

Anton Latul-Sherbako... in WordPress Russian Community
тут решил вопрос, спасибо, Ваш ответ помог, а вот теперь заеб с вызовом внутри своего класса в методе... упомянутый Вами способ не отработал
источник

АП

Артём Приходько... in WordPress Russian Community
add_action(“init”, [$this, “method”]);
источник

AL

Anton Latul-Sherbako... in WordPress Russian Community
сейчас чекну
источник

AL

Anton Latul-Sherbako... in WordPress Russian Community
спасибо, отлично работает
источник

АП

Артём Приходько... in WordPress Russian Community
а ведь всё это есть в доке add_action
источник

AL

Anton Latul-Sherbako... in WordPress Russian Community
уже нашел, по Вашему примеру, я просто не то искал оказывается
источник

AG

Alex GHO in WordPress Russian Community
День добрый! На ваш взгляд какой слайдер самый быстрый для шапки сайта? в моём случае rev slider кажется тяжёлый и дольше всей страницы подгружается.
источник

КЗ

Кирилл Золотарев... in WordPress Russian Community
Просто кто то упорно не желает учить php 😂 https://www.php.net/manual/ru/language.types.callable.php
источник

КЗ

Кирилл Золотарев... in WordPress Russian Community
Тяжелый наверняка не слайдер, а картинки в нем. Сделай lazy-load или картинки ужми
источник

IO

III O in WordPress Russian Community
а посоветуйте максимально легкую тему адаптированую под мобильные устройства для любителей  зеленых цифр в pagespeed insights, пожалуйста
источник

КЗ

Кирилл Золотарев... in WordPress Russian Community
https://woodmart.xtemos.com/ Если нужна коммерческая, Astra и др берешь демку и тестишь https://developers.google.com/speed/pagespeed/insights
источник

IO

III O in WordPress Russian Community
да, коммерческая. Лучше заплатить денег чем самому ковырять
источник

КЗ

Кирилл Золотарев... in WordPress Russian Community
Ну вот по ссылке выше популярная. Но нужно иметь в виду что наполнение контентом любую тему может знатно уронить в этих мерялках. любой плагин может уронить и все придется подгонять все равно
источник

ОТ

Олег Тихомиров... in WordPress Russian Community
Всем привет! Я где-то слышал, что можно создавать несколько footer.php и выводить их в зависимости от страниц, можно пожалуйста ссылку, где это подробнее? В google к сожалению ничего не нашёл
источник

PK

Pavel Ketov in WordPress Russian Community
источник

ОТ

Олег Тихомиров... in WordPress Russian Community
А, да, искал просто не так. Искал "несколько footer.php в wordpress"
источник