Рубрика «Шпаргалки»

Приёмы, помогающие в работе.

Как добавить ссылку в хлебных крошках плагина Yoast SEO

18 мая 2021. Рубрики: Шпаргалки; автор — Княгиня.

Рецепт работает, если вам не хватает, к примеру, ссылки на корень магазина. Используется фильтр wpseo_breadcrumb_links. Код добавляется в файл functions.php.

add_filter( 'wpseo_breadcrumb_links', 'wpseo_breadcrumb_add_woo_shop_link' );
function wpseo_breadcrumb_add_woo_shop_link( $links ) {
  global $post;
    if(is_woocommerce() && !is_shop()){
      $breadcrumb[] = array(
      'url' => get_permalink( woocommerce_get_page_id( 'shop' ) ),
      'text' => 'Магазин',
    );
    array_splice($links, 1, -2, $breadcrumb);
  }
  return $links;
}

Здесь условие is_woocommerce() означает, что изменение применяется только к страницам магазина, созданного на woocommerce. Условие !is_shop() убирает ссылку на магазин на самой странице магазина.

Ваш отзыв »

WordPress: как убрать обёртки виджетов

24 марта 2020. Рубрики: Шпаргалки; автор — Княгиня.

Вордпресс по умолчанию подставляет виджетам обёртки с классом. Часто эти обёртки бывают ненужными, а иногда просто мешают. Чтобы убрать обёртки у виджетов типа «Текст» и «Html-код», нужно добавить в файл function.php следующий код:

function my_register_sidebars(){
  /*здесь может быть регистрация новых виджетов*/
  register_widget('My_Text_Widget');
  register_widget('My_HTML_Widget');
}
class My_Text_Widget extends WP_Widget_Text{
  function widget($args, $instance){
    extract($args);
    $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base);
    $text = apply_filters('widget_text', empty($instance['text']) ? '' : $instance['text'], $instance);
    echo $before_widget;
    if (!empty($title)){
      echo $before_title . $title . $after_title;
    }
    echo !empty($instance['filter']) ? wpautop($text) : $text;
    echo $after_widget;
  }
}
class My_HTML_Widget extends WP_Widget_Custom_HTML{
  function widget($args, $instance){
    extract($args);
    $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base);
    $text = apply_filters('widget_text', empty($instance['content']) ? '' : $instance['content'], $instance);
    echo $before_widget;
    if (!empty($title)){
      echo $before_title . $title . $after_title;
    }
    echo !empty($instance['filter']) ? wpautop($text) : $text;
    echo $after_widget;
  }
}

3 комментария »