如何更新帖子的自定义分类选择?

时间:2021-09-16 作者:robert0

使用以下方法更新post meta\\u数据相当容易:

update_post_meta( $post_id, \'status\', \'active\');
由于建议我改用自定义分类法,我已注册并创建了自定义分类法“状态”,方法是在我的函数中粘贴以下代码。php:

//* Add custom taxonomy \'status\' *//

function wporg_register_taxonomy_status() {
     $labels = array(
         \'name\'              => _x( \'Status\', \'taxonomy general name\' ),
         \'singular_name\'     => _x( \'Status\', \'taxonomy singular name\' ),
         \'search_items\'      => __( \'Search Status\' ),
         \'all_items\'         => __( \'All Status\' ),
         \'parent_item\'       => __( \'Parent Status\' ),
         \'parent_item_colon\' => __( \'Parent Status:\' ),
         \'edit_item\'         => __( \'Edit Status\' ),
         \'update_item\'       => __( \'Update Status\' ),
         \'add_new_item\'      => __( \'Add New Status\' ),
         \'new_item_name\'     => __( \'New Status Name\' ),
         \'menu_name\'         => __( \'Status\' ),
     );
     $args   = array(
         \'hierarchical\'      => true, // make it hierarchical (like categories)
         \'labels\'            => $labels,
         \'show_ui\'           => true,
         \'show_admin_column\' => true,
         \'query_var\'         => true,
         \'rewrite\'           => [ \'slug\' => \'status\' ],
     );
     register_taxonomy( \'status\', [ \'post\' ], $args );
}
add_action( \'init\', \'wporg_register_taxonomy_status\' );
好了,现在我有了我的自定义分类“状态”。

我去了邮局>;wp仪表板中的状态,并创建了两个名为:

忙碌的

不活跃的

两者都有相同的鼻涕虫。

活动具有term\\u id:661活动具有term\\u id:662

在我的创建自定义帖子表单中,我添加了这一行,以便在创建帖子时自动将分类设置为“活动”:

<input type="hidden" name="usp-taxonomy-status[]" value="661" />
所以现在我有了所有新的帖子,将选定的状态分类法设置为“活动”。

我的问题是如何使用update_term_meta() 更新我的选择?

或者我应该使用wp_set_post_terms (); ?

简而言之,我想要这样的东西:

update_term_meta ($post_id, \'status\', \'inactive\');
//and at the same time 
uncheck the \'status\', \'active\';
这样就只剩下一个“非活动”选项。

需要帮助。

1 个回复
SO网友:robert0

使用以下内容排序:

要设置为活动,请执行以下操作:

    <?php  $post_id = 58;
      $tag = array( 661 );
         wp_set_post_terms( $post_id, $tag, \'status\' ); ?>
要设置为非活动:

    <?php  $post_id = 58;
      $tag = array( 662 );
         wp_set_post_terms( $post_id, $tag, \'status\' ); ?>

相关推荐

WordPress摘录-如何使用unctions.php删除第一个链接

我刚刚将一个博客导入Wordpress,所有内容都以以下内容开头:<a href="itunes.com">Listen on iTunes</a> 然后是段落内容,因此所有节选都显示为“;收听iTunes内容摘录"E;我尝试了这里的一些自定义函数,但似乎没有一个能起到作用。在不必移动iTunes链接的情况下删除Listen on iTunes文本的最佳方法是什么?例如,我试过这个。。。没有运气。。。 function custom_ex