WordPress как на ладони
wordpress jino

Програмное создание тега.

Ситуация следующая: на сайте установлен плагин «events maker» в котором присутствуют собственные теги которые являются по сути кастомными таксономиями.

На сайте реализована страница тега, на которой выводится контент отфильтрованный по тегу. Необходимо сделать так, чтобы при создания таксономии event_tag так же создавался одноименный тег чтобы переход на страницу тегов не выбивал 404 ошибку.

0
Bat1stuff20 2 месяца назад
  • 0

    Сам спросил сам ответил)
    В общем элегантного решения не нашел поэтому сделал как то так:

    function custom_em_register_event_tags() {
    	$args = array(
    		'taxonomy' => 'event-tag',
    		'orderby'       => 'id',
    		'order'         => 'DESC',
    		'hide_empty' => false,
    		'get'           => 'all',
    	);
    	$terms = get_terms( $args );
    	$name = '';
    	$slug = '';
    	if ( isset( $terms ) && !empty( $terms ) ){
    		foreach ( $terms as $term){
    			$name = $term->name;
    			$slug = $term->slug;
    			break;
    		}
    		$parent_term = term_exists( $slug, 'post_tag' );
    	}
    	if (!$parent_term){
    		$data = wp_insert_term(
    			$name,
    			'post_tag',
    			array(
    				'slug'        => $slug,
    			)
    		);
    	}
    	if( ! is_wp_error($data) ) $term_id = $data['term_id'];
    	return $term_id;
    }
    add_filter('created_term', 'custom_em_register_event_tags', 10, 1);

    Может кому пригодитсяsmile

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.