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

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • А кто знает как удалить slug для произвольного типа записей из URL?
    Я пробовал таким кодом, но тоже лажа какая то получается:

    function remove_slug( $post_link, $post, $leavename ) {
    if ( 'products' != $post->post_type || 'publish' != $post->post_status ) {
    return $post_link;
    }
    $post_link = str_replace( '/' . $post->post_type . '/', '/', $post_link );
    return $post_link;
    }
    add_filter( 'post_type_link', 'remove_slug', 10, 3 );
    function parse_request( $query ) {
    if ( ! $query->is_main_query() )
    return;
    
    if ( 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {
    return;
    }
    
    if ( ! empty( $query->query['name'] ) ) {
    $query->set( 'post_type', array( 'post', 'products', 'page' ) );
    }
    }
    add_action( 'pre_get_posts', 'parse_request' );

    Ставлю для новостей, нормально, меняю значения, дабы избежать конфликта в функции и ставлю для портфолио, и вуаля, работает тоже, но вот новости перестают выводится в своём шаблоне, пересохраняю постоянные ссылки, ноль эффекта…может кто знает как решить проблему?
    Ошибок не выдаёт, убираю код с портфолио и новости опять начинают работать…

    ‘taxonomies’ => array( ‘category’, ‘post_tag’ ) Удалять?

    Решил проблему так: переменные $labels и $args изменил $labelss и $argss, ну или что-то типо того, кто как хочет. После зашел в Настройки, Постоянные ссылки, Произвольно, вставить /%postname% и Сохранить.

    А вот как сделать что бы категории для каждой записи были свои я не знаю…если можно расписать поподробнее.

    так я нашёл проблему, и удачно её решил, теперь стал другой вопрос.
    Почему категории (Рубрики) общие, а не для каждой записи свои категории? В чем может быть проблема, код тот же что и был…

    Вот полностью код:

    // Register Custom Post Type
    function custom_post_type() {
    
    	$labels = array(
    		'name'                => _x( 'Новости', 'Post Type General Name', 'text_domain' ),
    		'singular_name'       => _x( 'Новости', 'Post Type Singular Name', 'text_domain' ),
    		'menu_name'           => __( 'Новости', 'text_domain' ),
    		'name_admin_bar'      => __( 'Новости', 'text_domain' ),
    		'parent_item_colon'   => __( 'Parent Item:', 'text_domain' ),
    		'all_items'           => __( 'Все новости', 'text_domain' ),
    		'add_new_item'        => __( 'Добавление записи', 'text_domain' ),
    		'add_new'             => __( 'Добавить новость', 'text_domain' ),
    		'new_item'            => __( 'Новая запись', 'text_domain' ),
    		'edit_item'           => __( 'Редактирование новости', 'text_domain' ),
    		'update_item'         => __( 'Update Item', 'text_domain' ),
    		'view_item'           => __( 'Посмотреть', 'text_domain' ),
    		'search_items'        => __( 'Поиск новости', 'text_domain' ),
    		'not_found'           => __( 'Новость не найдена', 'text_domain' ),
    		'not_found_in_trash'  => __( 'Not found in Trash', 'text_domain' ),
    	);
    	$args = array(
    		'label'               => __( 'post_news', 'text_domain' ),
    		'description'         => __( 'Новости', 'text_domain' ),
    		'labels'              => $labels,
    		'supports'            => array( 'title', 'editor', 'page-attributes', ),
    		'taxonomies'          => array( 'category', 'post_tag' ),
    		'hierarchical'        => false,
    		'public'              => true,
    		'show_ui'             => true,
    		'show_in_menu'        => true,
    		'menu_position'       => 5,
    		'show_in_admin_bar'   => true,
    		'show_in_nav_menus'   => true,
    		'can_export'          => true,
    		'has_archive'         => true,
    		'exclude_from_search' => false,
    		'publicly_queryable'  => true,
    		'capability_type'     => 'page',
    	);
    	register_post_type( 'post_news', $args );
    
    }
    
    // Hook into the 'init' action
    add_action( 'init', 'custom_post_type' );
    
    // Register Custom Post Type
    function custom_post_portfolio() {
    
    	$labelss = array(
    		'name'                => _x( 'Портфолио', 'Post Type General Name', 'text_domain' ),
    		'singular_name'       => _x( 'Портфолио', 'Post Type Singular Name', 'text_domain' ),
    		'menu_name'           => __( 'Портфолио', 'text_domain' ),
    		'name_admin_bar'      => __( 'Портфолио', 'text_domain' ),
    		'parent_item_colon'   => __( 'Parent Item:', 'text_domain' ),
    		'all_items'           => __( 'Все материалы', 'text_domain' ),
    		'add_new_item'        => __( 'Добавление записи', 'text_domain' ),
    		'add_new'             => __( 'Добавить запись', 'text_domain' ),
    		'new_item'            => __( 'Новая запись', 'text_domain' ),
    		'edit_item'           => __( 'Редактирование', 'text_domain' ),
    		'update_item'         => __( 'Update Item', 'text_domain' ),
    		'view_item'           => __( 'Посмотреть', 'text_domain' ),
    		'search_items'        => __( 'Поиск', 'text_domain' ),
    		'not_found'           => __( 'Материалов не найдено', 'text_domain' ),
    		'not_found_in_trash'  => __( 'Not found in Trash', 'text_domain' ),
    	);
    	$argss = array(
    		'label'               => __( 'post_portfolio', 'text_domain' ),
    		'description'         => __( 'Портфолио', 'text_domain' ),
    		'labels'              => $labelss,
    		'supports'            => array( 'title', 'editor', 'page-attributes', ),
    		'taxonomies'          => array( 'category', 'post_tag' ),
    		'hierarchical'        => false,
    		'public'              => true,
    		'show_ui'             => true,
    		'show_in_menu'        => true,
    		'menu_position'       => 10,
    		'show_in_admin_bar'   => true,
    		'show_in_nav_menus'   => true,
    		'can_export'          => true,
    		'has_archive'         => true,
    		'exclude_from_search' => false,
    		'publicly_queryable'  => true,
    		'capability_type'     => 'page',
    	);
    	register_post_type( 'post_portfolio', $argss );
    
    }
    
    // Hook into the 'init' action
    add_action( 'init', 'custom_post_portfolio' );
Просмотр 5 ответов — с 1 по 5 (всего 5)