Задать вопрос
  • Как сделать иерархию постов?

    ggok, я заглянул туда одним глазом(не устанавливал)... но насколько я понял там несколько вариантов решения + оформление в админке + оформление функционала про версии и прочей ерунды ненужной, создание каких-то шорткодов, работа с TinyMCE... я лишь говорю Вы можете попробовать найти нужный кусок кода и перехватить идею при желании. вполне возможно, что из этих 3к строк Вам надо ну пусть 20 строк. Там ведь не только оформление бесплатной версии настроек, но и защита про версии и его настройки прописаны....
    Лично я иногда разбираю плагины по частям и вытаскиваю нужный мне код из плагина, либо как минимум беру направление для реализации, если конечно врубаюсь в суть (но это, если источник интернет совсем не дает результата в поиске)....
  • Деактивация плагинов улучшая скорость загрузки или нет?

    активирован/де активирован, разумеется на скорость влияет. Но не только это влияет на скорость (ещё и база данных весьма важна).
    Давайте возьмем, к примеру, плагин mailpoet - письма и рассылки...
    На скрине вес плагина и база test до установки плагина:
    spoiler
    5d958880c79f4348748157.jpeg

    База test после установки плагина:
    spoiler
    5d9588a5699ae574786642.jpeg

    База test после УДАЛЕНИЯ плагина
    spoiler
    5d9588c6d0d45053009188.jpeg

    Теперь представ те как обычно бывает в реальности.... Ищем плагин, перебираем кучу прям на живом сайте пока не найдем, что нужно... Что в итоге может произойти с базой(не все плагины «заси*ают» базу)? Можно за первый день создания сайта «зас*ать» не хило.
    Плагины лучше удалять, они могут содержать уязвимости

    И из базы в том числе(при наличии)...
    Само наличие плагина это уже + к уязвимости.... Что именно является главным в уязвимости?
    - Префикс таблиц разумеется.
    Когда мы ставим сайт Мы обязательно меняем стандартный префикс с wp на любую другую абру кадабру и никто её не узнает.... Префикс плагина может узнать даже ребенок, поставив плагин на локалке (поэтому плагин основа для нехороших ребят)... На данный момент разработчики делают префиксы зависимыми от префикса при установки сайта., Но учитывают ли они максимальную длину префикса(если я параноик и при создании сайта запилил максимальную длину префикса)??? иначе плагин может не установиться вовсе...
    з.ы. уж не говоря о том, что эти 15,7 МБ кода и захламлением базы плагином, можно заменить 20 КБ +/- кода, в который можно вместить: автоматическую рассылку при создании записи, ручную рассылку с вложением или без, раздел по управлению внешним видом рассылки с активацией/де активацией авто рассылки, форма подписки и отписки, одна опция в базе с email подписчиками...
  • Как сделать иерархию постов?

    А в «кишки» плагина не заглядывали? ответ может ждет Вас там...
  • Как добавить активный класс в меню?

    Елена, попробуйте это
    add_filter('nav_menu_css_class', 'normalize_wp_classes', 10, 2);
    add_filter('page_css_class', 'normalize_wp_classes', 10, 2);
    function normalize_wp_classes(array $classes, $item = null){
      $replacements = array(
        'current-menu-item',
        'current-menu-parent',
        'current-menu-ancestor',
        'current_page_item',
        'current_page_parent',
        'current_page_ancestor',
      );
      return array_intersect($replacements, $classes) ? array('active') : array();
    }
  • Как добавить активный класс в меню?

    Доброго времени суток. смыл добавлять класс, если у Вас где-то что-то не так (код, который Вы выложили ни чего не говорит)...
    проверте/добавте стили на стандартных классах, через которые обычно подсвечивают активные пункты:
    #menu .current-menu-item > a,#menu .current-menu-ancestor > a,#menu .current_page_item > a,#menu .current_page_ancestor > a{
    	-moz-box-shadow:0px 2px 0px rgba(0,0,0,1);
    	-webkit-box-shadow:0px 2px 0px rgba(0,0,0,1);
    	box-shadow:0px 2px 0px rgba(0,0,0,1);
    }

    Проверте через инженерную панель и на первой, и на второй странице. Сравните, определите где переписываются стили и правте...
    з.ы: на стандартных классах Должно робить хоть на 20 странице, хоть на произвольном типе или стандартном... Вопрос в том, что у Вас в archive-news.php, какие стоят плагины, какая тема и кто, что в ней правил...
  • Привязка класса css к id=""?

    Михаил Лебедев, на всякий пожарный в помощь - читайте комментарии
    в последнем приведенном коде по факту осталось сделать проверку и использовать либо update_post_meta, либо delete_post_meta...
  • Привязка класса css к id=""?

    создайте мета поле для записей, например. В котором будет, ну хотябы, чекбокс. В нужной статье выставляете галочку в чексе. а в коде рядом с id делаете проверку на true мета поля данного поста. и если true добавляете класс какой-нибудь и наводите на этом классе нужную красоту....
  • Как подключить почту для домена на openserver?

    коротко и по делу...
    Добавлю только, что Способ отправки почты должен быть выставлен на «Отправлять почту через удаленный SMTP сервер»
  • Где хранятся количество лайков в плагине i-recommended this?

    надо тестировать, доводить до ума... я лишь дал Вам одно из напарвлений...
  • Где хранятся количество лайков в плагине i-recommended this?

    что будет с атрибутом name то же точно не скажу...
    возможно вот так надо будет писать name="_recommended[0]"
  • Где хранятся количество лайков в плагине i-recommended this?

    sergeiy_permyakov, value="'.$post_meta[0].'" просмотрите ещё раз код выше я его исправил, но уведомление Вам не пришло это комментарий
  • Где хранятся количество лайков в плагине i-recommended this?

    sergeiy_permyakov, Думаю проще всего будет создать для ваших записей метабокс с этим значением. В котором, изменив значение и, обновив запись, значение в базе будет перезаписано.
    тут пример создания мета бокса.
    Примерно так будет Ваш код выглядеть для вывода данных в каждом посте(накидал не тестируя):
    add_action('add_meta_boxes','VAB_short_for_posts_meta_box');
    if(!function_exists('VAB_short_for_posts_meta_box')){
      function VAB_short_for_posts_meta_box(){
        $screens=array('post');
        add_meta_box('post_meta',__('Лайки поста','VAB'),'post_meta_box_callback',$screens,'side','high');
        }
      }
      if(!function_exists('post_meta_box_callback')){
        function post_meta_box_callback($post,$meta){
          $screens=$meta['args'];
    			$post_meta=get_post_meta($post->ID,'_recommended');
          echo __('<label for="_recommended"><input id="_recommended" size="4" type="text" name="_recommended" value="'.$post_meta[0].'"></label>';
        }
      }

    но после изменения сохраняя пост Вам надо перезаписать значение в базе. гуглите акшн edit_post
    пример:
    add_action('edit_post','VAB_update_post_meta',10,2);
    function VAB_update_post_meta($post_ID,$post){

    на kama вроди есть пример
    уж извините за вас писать не буду код лень заморачиваться. Добавлю только, что обязательно нужно создать nonce поле для защиты и верифициорвать перед сохранением.
    не большой пример моего интегрированного мега слайдера:

    //создание метабокса
    add_action('add_meta_boxes','nivo_meta_box');
    function nivo_meta_box(){
    $screens=array('vabmegaslider');
    add_meta_box('nivo_meta',__('Слайдер «Nivo»','VAB'),'nivo_meta_box_callback',$screens,'side','low');}
    function nivo_meta_box_callback($post,$meta){
    wp_nonce_field('VAB_mode_slider_nonce','VAB_slider_nonce');//вот оно
    .....
    //обновление поста и вместе с ним мета поля с проверками
    add_action('edit_post','VAB_update_post_meta',10,2);
    function VAB_update_post_meta($post_ID,$post){
    	$nonce=filter_input(INPUT_POST,'VAB_slider_nonce',FILTER_SANITIZE_STRING);
    	if(!$nonce){return $post_ID;}
    	if(!wp_verify_nonce($nonce,'VAB_mode_slider_nonce')){return;}
    	if(defined('DOING_AUTOSAVE')&&DOING_AUTOSAVE){return;}
    	if(!current_user_can('edit_post',$post_ID)){return;}
    	$post_type=get_post_type($post_ID);
    ....
  • Где хранятся количество лайков в плагине i-recommended this?

    вот кусок кода из плагина, если я конечно скачал ту же версию (110 строка)
    global $wpdb;
    		if (!is_numeric($post_id)) return;
    		$text_zero_suffix = sanitize_text_field($text_zero_suffix);
    		$text_one_suffix = sanitize_text_field($text_one_suffix);
    		$text_more_suffix = sanitize_text_field($text_more_suffix);
    
    
    		switch ($action) {
    
    			case 'get':
    				$recommended = get_post_meta($post_id, '_recommended', true);
    				if (!$recommended) {
    					$recommended = 0;
    					add_post_meta($post_id, '_recommended', $recommended, true);
    				}
  • Где хранятся количество лайков в плагине i-recommended this?

    sergeiy_permyakov, ну смотрите на каждую запись свои лайки... вешаются они по id записи в мета поля
    вывести вы их можете зная id записи
    $post_meta=get_post_meta($thepostid,'_recommended');
    	echo $post_meta[0];

    например id поста 77:
    $post_meta=get_post_meta('77','_recommended');
    	echo $post_meta[0];

    для того, что бы их редактировать Вам нужно вывести где-нибудь, например, input с этими значениями с возможностью редактирования. ну и разумеется после редактирования перезаписывать эти данные, нажав кнопку сохранить...
  • Call to undefined function add_meta_box(). Как?

    Александр Соболев, видимо очередное обновление и правки. Точно не скажу. я изначально так создавал....
  • Call to undefined function add_meta_box(). Как?

    add_action( 'init', 'sso_dictors_lib_post_type', 0 );
    }//лишняя скобка

    + нету add_action('add_meta_boxes',
  • Есть ли готовое решение календаря архива произвольных типов записей?

    Дмитрий Жуков, вполне логично, особенно, когда работаем с пагинацией... меняем настройки постоянных ссылок...(если я правильно понял).
    На случай, если не останется вариантов: ссылка на pjax
    обновляю сразу два контейнера таким образом:
    $(document).pjax('[go_pjax] a','#CenteBig,#wp-calendar',{fragment:'#CenteBig,#wp-calendar',timeout:44444,scrollTo:No_Yes_scroll_To,push:true});

    правда тут мои настройки... если почитаете, думаю разберетесь..

    календарю даю атрибут: [go_pjax]
    соответственно нажав ссылку в нем [go_pjax] a обновляю сам контейнер календаря и центральный блок: '#CenteBig,#wp-calendar'
  • Можно ли сделать отзывы на отдельной странице?

    можно написать шорткод, который будет брать последние комментарии, либо по иным критериям. ну а шорткод Вы можете пихнуть куда угодно...будь - то это сайдбар или создать новую запись и там его вывести....