Ответы в темах

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Зачем ? ID должен быть уникальным, вы зря боитесь что вам чисел не хватит, хватит.

    Просто засоряется база . Лишними данными итд.

    Кажется я нашел решение, но мне кажется оно как то не правильно записано, хоть и работает.

    <div class="portfolio-wrapper row j-center container">
      <?php 
    $tags = get_the_tags();
    foreach ( $tags as $tag ){
      
    }
       $lastposts = get_posts( array(
    	'numberposts' => -1,
    	'tag' => $tag->slug,
    	'category'    => 0,
    	'orderby'     => 'menu_order',
    	'order'       => 'DESC',
    	'include'     => array(),
    	'exclude'     => array(),
    	'meta_key'    => '',
    	'meta_value'  =>'',
    	'post_type'   => 'portfolio',
    	'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
    ) );
       foreach( $lastposts as $post ){ setup_postdata($post);
         ?>
    
      <div class="portfolio-item">
        <h2>
          <? the_title() ?>
        </h2>
        <a class="fancybox" rel="group" href="<?php the_post_thumbnail_url('large')?>">
          <img src="<?php the_post_thumbnail_url('medium')?>" alt="Фотография">
        </a>
    
      </div>
    
      <?php 
         
       }
       wp_reset_postdata()
       ?>
    </div>
    </div>

    Можно ли здесь как то избавится от первого цикла $tags as $tag? он пустой, но без него ничего не работае. почему так?

    А что в таком случае нужно делать?
    У меня есть список услуг (кастомные записи), которые я вывожу на главной странице и на странице всех услуг через обычный цикл foreach, у некоторых из этих услуг есть под услуги.
    И я хотел задавать условие, что если у усулги есть подуслуги, то выводить список подуслуг, а если нет, то выводить контент этой услуги.И все это на странице single-services.php.
    Чтобы не плодить много страниц-шаблонов.
    Как мне быть, подскажите, пожалуйста?

    И при наличии любого из этих условий у меня прерывается выополнение, хотя таксономия древовидная

    Код который я удалил выглядел так, я сделал это для теста

    	// Если текущая страница не страница термина - прерываем выполнение функции
    	if ( ! ( is_a( $current_term, 'WP_Term' ) ) ) {
    		return;
    	}
    
    	// Если это термин не древовидной таксономии - прерываем выполнение функции
    	if ( ! is_taxonomy_hierarchical( $current_term->taxonomy ) ) {
    		return;
    	}

    Я поменял название таксономии как вы и советовали. Надеюсь я правильно все сделал.

    add_action('init', 'services');
    function services()
    {
      $labels = array(
        'name' => 'Услуги',
        'singular_name' => 'Услуга',
        'add_new' => 'Добавить услугу',
        'add_new_item' => 'Добавить новую усулгу',
        'edit_item' => 'Редактировать услугу',
        'new_item' => 'Новая услуга',
        'view_item' => 'Посмотреть усулугу',
        'search_items' => 'Найти услугу',
        'not_found' =>  'Услуг не найдено',
        'not_found_in_trash' => 'В корзине услуг не найдено',
        'parent_item_colon' => '',
        'menu_name' => 'Услуги'
      );
    
      $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'page',
        'has_archive' => true,
        'hierarchical' => true,
        'menu_position' => 5,
        'supports' => array('title','editor','thumbnail', 'comments'),
    		'taxonomies' => array('services_tax') 
      );
      register_post_type('services',$args);  
    }
    
    // Создаем новую таксономию для Услуг
    add_action( 'init', 'services_tax', 0 );
    
    function services_tax(){
      $labels = array(
        'name' => _x( 'Категории услуг', 'tax' ),
        'singular_name' => _x( 'Категория услуги', 'taxonomy singular name' ),
        'search_items' =>  __( 'Найти категорию услуг' ),
        'all_items' => __( 'Все категории услуг' ),
        'parent_item' => __( 'Родительская категория услуги' ),
        'parent_item_colon' => __( 'Родительская категория' ),
        'edit_item' => __( 'Родительская категория' ),
        'update_item' => __( 'Обновить катгорию' ),
        'add_new_item' => __( 'Добавить новую катгорию' ),
        'new_item_name' => __( 'Название новой категории услуг' ),
        'menu_name' => __( 'Категории услуг' ),
      );
    
      register_taxonomy('services_tax', array('services'), array(
        'hierarchical' => true,
        'labels' => $labels,
        'show_ui' => true,
        'query_var' => true,
        
      ));
    
    }
    

    Как понять в каком шаблоне? Я создал страницу single-services.php , и вызываю из него функцию. Все это кастомный тип записей

    Вижу,но ведь services это услуги и у них есть категории из скрина? Что мне тогда нужно сделать?

    WP_Post Object ( [ID] => 3080 [post_author] => 1 [post_date] => 2020-03-09 08:52:02 [post_date_gmt] => 2020-03-09 05:52:02 [post_content] => [post_title] => Секционные гаражные ворота [post_excerpt] => [post_status] => publish [comment_status] => open [ping_status] => closed [post_password] => [post_name] => sekcionnye-garazhnye-vorota [to_ping] => [pinged] => [post_modified] => 2020-03-09 15:56:26 [post_modified_gmt] => 2020-03-09 12:56:26 [post_content_filtered] => [post_parent] => 0 [guid] => http://garantstroy/?post_type=services&p=3080 [menu_order] => 0 [post_type] => services [post_mime_type] => [comment_count] => 0 [filter] => raw )

    • Ответ изменён 3 года, 12 месяцев назад пользователем poylar.
Просмотр 8 ответов — с 1 по 8 (всего 8)