无法向CPT添加自定义分类

时间:2018-04-21 10:22:39

标签: php wordpress taxonomy custom-taxonomy

我已经尝试了好几天了,但却无法让它发挥作用。

我有一个自定义帖子类型是一个条目,它包含有关选民的信息。但是我想按照他们投票的方式对选民进行分类,所以我为此创建了一个自定义分类,但即使使用静态帖子ID也不会将该词添加到帖子中。

<?php

//Custom post type for voting
function create_entry_post_type() {
    register_post_type( 'entry',
        array(
            'labels' => array(
               'name' => __( 'Entries' ),
            'singular_name' => __( 'Entry' )
        ),
        'public' => true,
        'has_archive' => true,
        'taxonomies' => array('votes')
    )
);
}
add_action( 'init', 'create_entry_post_type' );

//Adds entry to wordpress
if(isset($_POST['submit'])){
    //Insert data
    $post_id = wp_insert_post(array(
        'post_title' => 'Title',
        'post_content' => 'This is a vote',
        'post_type' => 'entry',

   ));

//Array for values in entry-post type
$values = array(
    'field_5ad8868851c3b' => $_POST['firstname'], //Firstname
    'field_5ad8869d51c3c' => $_POST['lastname'], //Lastname
    'field_5ad886d851c3d' => $_POST['email'], //Email
    'field_5ad886f551c3e' => $_POST['phone'], //Phone
    'field_5ad9d4bfc5860' => $_POST['vote'], //Vote
    'field_5ad9d6f1273ff' => $_POST['coupon_type'] // Coupon Type (sms/email)
);
//Insert for each field
foreach ($values as $key => $value) {
    update_field($key, $value, $post_id);
};

sendToClearOn($_POST["coupon_type"]);
}

function sendToClearOn($coupon_type){
    // TO-DO
}


//
// Testing taxonomies
//
function votes_init() {
    // create a new taxonomy
    register_taxonomy(
        'votes',
        'entry',
        array(
            'label' => __( 'Votes' ),
            'rewrite' => array( 'slug' => 'vote' ),
            'capabilities' => array(
                'assign_terms' => 'edit_guides',
                'edit_terms' => 'publish_guides'
        )
    )
);
}
add_action( 'init', 'votes_init' );

function add_term(){
    wp_set_object_terms( 250, 'Bob', 'vote' );
}
add_action( 'init', 'add_term' );

?>

1 个答案:

答案 0 :(得分:0)

环顾四周后,我发现我需要给init挂钩一个优先级。

add_action( 'init', 'function_name', $priority);

经过一段时间的测试后,我发现50左右是好的但是要自己尝试。