Cherry framework adicionando tipo de postagem personalizado

À procura de algumas informações, como os documentos do desenvolvedor para o quadro de cerejeira parecem não existir.

Estou tentando adicionar um post-tipo personalizado com o seguinte código no meu arquivo de inição de tema: (este código funciona bem em uma instalação padrão usada com um tema com a estrutura de cereja que não exibe, eu apenas recebo um erro 404)

 'Top Header Menu', 'header_menu' => 'Header Menu', 'footer_menu' => 'Footer Menu' ) ); } } endif; /* Slider */ function my_post_type_slider() { register_post_type( 'slider', array( 'label' => __('Slides', CURRENT_THEME), 'singular_label' => __('Slide', CURRENT_THEME), '_builtin' => false, 'exclude_from_search' => true, // Exclude from Search Results 'capability_type' => 'page', 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => false, 'rewrite' => array( 'slug' => 'slide-view', 'with_front' => FALSE, ), 'query_var' => "slide", // This goes to the WP_Query schema 'menu_icon' => get_template_directory_uri() . '/includes/images/icon_slides.png', 'supports' => array( 'title', 'custom-fields', 'thumbnail') ) ); } add_action('init', 'my_post_type_slider'); /* Portfolio */ function my_post_type_portfolio() { register_post_type( 'portfolio', array( 'label' => __('Projects', CURRENT_THEME), 'singular_label' => __('Project', CURRENT_THEME), '_builtin' => false, 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => true, 'hierarchical' => true, 'capability_type' => 'page', 'menu_icon' => get_template_directory_uri() . '/includes/images/icon_portfolio.png', 'rewrite' => array( 'slug' => 'portfolio-view', 'with_front' => FALSE, ), 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'comments') ) ); register_taxonomy('portfolio_category', 'portfolio', array('hierarchical' => true, 'label' => 'Categories', 'singular_name' => 'Category', "rewrite" => true, "query_var" => true)); register_taxonomy('portfolio_tag', 'portfolio', array('hierarchical' => false, 'label' => 'Tags', 'singular_name' => 'Tag', 'rewrite' => true, 'query_var' => true)); } add_action('init', 'my_post_type_portfolio'); /* Testimonial */ function my_post_type_testi() { register_post_type( 'testi', array( 'label' => __('Testimonial', CURRENT_THEME), 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => false, 'menu_position' => 5, 'rewrite' => array( 'slug' => 'testimonial-view', 'with_front' => FALSE, ), 'supports' => array( 'title', 'custom-fields', 'thumbnail', 'editor') ) ); } add_action('init', 'my_post_type_testi'); /* Services */ function my_post_type_services() { register_post_type( 'services', array( 'label' => __('Services', CURRENT_THEME), 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => false, 'menu_position' => 5, 'rewrite' => array( 'slug' => 'services-view', 'with_front' => FALSE, ), 'supports' => array( 'title', 'thumbnail', 'editor') ) ); } add_action('init', 'my_post_type_services'); /* FAQs */ function phi_post_type_faq() { register_post_type('faq', array( 'label' => __('FAQs', CURRENT_THEME), 'singular_label' => __('FAQ', CURRENT_THEME), 'public' => false, 'show_ui' => true, '_builtin' => false, // It's a custom post type, not built in '_edit_link' => 'post.php?post=%d', 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array("slug" => "faq"), // Permalinks 'query_var' => "faq", // This goes to the WP_Query schema 'supports' => array('title','author','editor'), 'menu_position' => 5, 'publicly_queryable' => true, 'exclude_from_search' => false, )); } add_action('init', 'phi_post_type_faq'); /* Our Team */ function my_post_type_team() { register_post_type( 'team', array( 'label' => __('Our Team', CURRENT_THEME), 'singular_label' => __('Person', CURRENT_THEME), '_builtin' => false, 'exclude_from_search' => true, // Exclude from Search Results 'capability_type' => 'page', 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => false, 'menu_position' => 5, 'rewrite' => array( 'slug' => 'team-view', 'with_front' => FALSE, ), 'supports' => array( 'title', 'custom-fields', 'editor', 'thumbnail') ) ); } add_action('init', 'my_post_type_team'); function products_post_type() { $labels = array( 'name' => _x( 'Products', 'Post Type General Name', 'text_domain' ), 'singular_name' => _x( 'Product', 'Post Type Singular Name', 'text_domain' ), 'menu_name' => __( 'Products', 'text_domain' ), 'parent_item_colon' => __( 'Parent Product:', 'text_domain' ), 'all_items' => __( 'All Products', 'text_domain' ), 'view_item' => __( 'View Product', 'text_domain' ), 'add_new_item' => __( 'Add New Product', 'text_domain' ), 'add_new' => __( 'New Product', 'text_domain' ), 'edit_item' => __( 'Edit Product', 'text_domain' ), 'update_item' => __( 'Update Product', 'text_domain' ), 'search_items' => __( 'Search products', 'text_domain' ), 'not_found' => __( 'No products found', 'text_domain' ), 'not_found_in_trash' => __( 'No products found in Trash', 'text_domain' ), ); $args = array( 'label' => __( 'product', 'text_domain' ), 'description' => __( 'Product information pages', 'text_domain' ), 'labels' => $labels, 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'custom-fields', ), 'taxonomies' => array( 'category', 'post_tag' ), 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'page', ); register_post_type( 'product', $args ); } // Hook into the 'init' action add_action( 'init', 'products_post_type'); function my_connection_types() { p2p_register_connection_type( array( 'name' => 'testi_to_product', 'from' => 'testi', 'to' => 'product', 'admin_box' => array( 'show' => 'any', 'context' => 'advanced' ) ) ); } add_action( 'p2p_init', 'my_connection_types' ); ?> 

Depois de criar novos produtos, não consigo obter a publicação para exibir, eu apenas recebo um erro 404, para a categoria e a única página.

Alguém conseguiu adicionar um novo post-tipo ao quadro de cerejeira e pode me apontar na direção certa para integrá-lo corretamente?

Solutions Collecting From Web of "Cherry framework adicionando tipo de postagem personalizado"

No final do seu código após o último} add:

 add_action('init,'products_post_type'); 

Certifique-se de que você está adicionando isso ao arquivo no arquivo /wp-content/your_custom_theme/includes/theme-init.php e então, claro, atualize o permalink.

Com o CherryFramework, certifique-se de não modificar nenhum dos arquivos na pasta CherryFramework, ou você perderá quando uma atualização acontecer.

Acabei de testar seu código em um site Cherry dev, e funcionou bem. Deve haver mais em seu tema-init?

Tente adicionar:

 add_action( 'init', 'products_post_type' ); 

Como você pode ver no exemplo do Codex para register_post_type() você deve adicionar sua function ao gancho de init, de modo que ele realmente seja executado . Caso contrário, o que você tem é uma function definida, mas nunca executada.

Se você fez isso com um tema padrão, então você estava adicionando a function a um gancho de ação. Eu não sei o que um arquivo theme-init.php está no framework Cherry, mas os tipos de postagem realmente não pertencem a um tema de qualquer maneira. O que acontece quando você precisa mudar os temas?

Gostaria de sugerir mover o código de seu tipo de publicação para um plugin ou até mesmo um plug-in de snippets específico do site