WP将post_meta添加到自定义帖子

时间:2017-11-20 06:51:41

标签: php wordpress

我使用Bogo翻译网站。它说:“翻译帖子和页面

您可以将帖子和页面翻译成您已安装的语言。

WordPress照常保存每个帖子或页面的内容,但Bogo添加了'_locale'post_meta数据。 '_locale'包含帖子的语言代码。“

https://wordpress.org/plugins/bogo/#description

我正在使用Salient主题。

发生了什么,Salient投资组合项目不适用于BOGO语言,一旦我打开投资组合项目,404就会出现。

我想我必须添加“_locale”的部分在functions.php

 function portfolio_register() {  

     $portfolio_labels = array(
        'name' => __( 'Portfolio', 'taxonomy general name', NECTAR_THEME_NAME),
        'singular_name' => __( 'Portfolio Item', NECTAR_THEME_NAME),
        'search_items' =>  __( 'Search Portfolio Items', NECTAR_THEME_NAME),
        'all_items' => __( 'Portfolio', NECTAR_THEME_NAME),
        'parent_item' => __( 'Parent Portfolio Item', NECTAR_THEME_NAME),
        'edit_item' => __( 'Edit Portfolio Item', NECTAR_THEME_NAME),
        'update_item' => __( 'Update Portfolio Item', NECTAR_THEME_NAME),
        'add_new_item' => __( 'Add New Portfolio Item', NECTAR_THEME_NAME)
     );

     global $options;
     $custom_slug = null;       

     if(!empty($options['portfolio_rewrite_slug'])) $custom_slug = $options['portfolio_rewrite_slug'];

     $portolfio_menu_icon = (floatval(get_bloginfo('version')) >= "3.8") ? 'dashicons-art' : NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/icons/portfolio.png';

     $args = array(
            'labels' => $portfolio_labels,
            'rewrite' => array('slug' => $custom_slug,'with_front' => false),
            'singular_label' => __('Project', NECTAR_THEME_NAME),
            'public' => true,
            'publicly_queryable' => true,
            'show_ui' => true,
            'hierarchical' => false,
            'menu_position' => 9,
            'menu_icon' => $portolfio_menu_icon,
            'supports' => array('title', 'editor', 'thumbnail', 'comments', 'revisions')  
       );  

    register_post_type( 'portfolio' , $args );  
}  
add_action('init', 'portfolio_register');

任何人都可以帮我添加区域设置吗?

2 个答案:

答案 0 :(得分:0)

因此,我认为您只需要为自定义帖子类型添加“自定义字段”支持。

可以通过在“支持”参数中添加“自定义字段”来完成。

function portfolio_register() {  

     $portfolio_labels = array(
        'name' => __( 'Portfolio', 'taxonomy general name', NECTAR_THEME_NAME),
        'singular_name' => __( 'Portfolio Item', NECTAR_THEME_NAME),
        'search_items' =>  __( 'Search Portfolio Items', NECTAR_THEME_NAME),
        'all_items' => __( 'Portfolio', NECTAR_THEME_NAME),
        'parent_item' => __( 'Parent Portfolio Item', NECTAR_THEME_NAME),
        'edit_item' => __( 'Edit Portfolio Item', NECTAR_THEME_NAME),
        'update_item' => __( 'Update Portfolio Item', NECTAR_THEME_NAME),
        'add_new_item' => __( 'Add New Portfolio Item', NECTAR_THEME_NAME)
     );

     global $options;
     $custom_slug = null;       

     if(!empty($options['portfolio_rewrite_slug'])) $custom_slug = $options['portfolio_rewrite_slug'];

     $portolfio_menu_icon = (floatval(get_bloginfo('version')) >= "3.8") ? 'dashicons-art' : NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/icons/portfolio.png';

     $args = array(
            'labels' => $portfolio_labels,
            'rewrite' => array('slug' => $custom_slug,'with_front' => false),
            'singular_label' => __('Project', NECTAR_THEME_NAME),
            'public' => true,
            'publicly_queryable' => true,
            'show_ui' => true,
            'hierarchical' => false,
            'menu_position' => 9,
            'menu_icon' => $portolfio_menu_icon,
            'supports' => array('title', 'editor', 'thumbnail', 'comments', 'revisions','custom-fields')  
       );  

    register_post_type( 'portfolio' , $args );  
}  
add_action('init', 'portfolio_register');

答案 1 :(得分:0)

在functions.php中



add_filter('bogo_localizable_post_types', 'my_localizable_post_types', 10, 1);
function my_localizable_post_types($localizable) {
	$localizable[] = 'portfolio';
	return $localizable;
}




这会为自定义帖子类型添加翻译选项。