Поддержка Проблемы и решения Изменение ЧПУ в админке некорректно отображается

  • Добрый день. изменил чпу

    function hg_designer_insertrules($rules)
    {
        $newrules['(designers)/([^/]+)/gallery-([0-9]+)/?$'] = 'index.php?post_type=hg_designer&slug=$matches[1]&hg_designer=$matches[2]&gallery=$matches[3]';
    
        return $newrules + $rules;
    }
    
    add_filter('rewrite_rules_array', 'hg_designer_insertrules');
    
    function hg_designer_insertqv($vars)
    {
        array_push($vars, 'gallery');
        return $vars;
    }
    
    add_filter('query_vars', 'hg_designer_insertqv');

    На стороне фронт енда через the_permalink отображается как нужно — site/designer/имя дизайнера в файле functions же отображется так site/имя дизайнера в чем может быть проблема?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    в файле functions же отображется так site/имя дизайнера

    Добавление правил ЧПУ влияет на обработку ссылок, но не на их отображение.

    1. Какой параметр rewrite указан при регистрации типа записей hg_designer?
    2. Возможно, будет полезен фильтр post_type_link.
    $rewrite = array(
    	'slug'                => 'designers',
    	'with_front'          => true,
    	'pages'               => true,
    	'feeds'               => true,
    );
    add_filter('post_type_link', 'wpse33551_post_type_link', 1, 3);
    
    function wpse33551_post_type_link( $link, $post = 0 ){
        echo $post->post_type ;
        if ( $post->post_type == 'hg_designer' ){
            return home_url( 'designers/' . $post->ID );
        } else {
            return $link;
        }
    }

    попробовал так — во фронт енде выводится echo $post->post_type ; из под function нет

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Изменение ЧПУ в админке некорректно отображается» закрыта для новых ответов.