让我们说媒体库有以下类别[新闻,事件,照片,页面,帖子]
你的wordpress也将上面的5设置为post-type
。我想要的是什么时候
1- Events
- > Add New
2-添加新的events
帖子类型时上传文件
3-文件完成上传后,wordpress应自动附加该附件文件的events
类别。
我有代码在上传后将类别更新为设定值,但在运行此功能时找不到当前正在编辑的post-type
。
将类别3添加到上传的文件
function add_category_automatically($post_ID) {
wp_set_object_terms($post_ID, array(3) or 'cat_slug_goes_here', 'category', true);
}
add_action('add_attachment', 'add_category_automatically');
目前通过ID (正确显示)
进行编辑add_action( 'admin_init', 'do_something_152677' );
function do_something_152677() {
// Global object containing current admin page
global $pagenow;
// If current page is post.php and post isset than query for its post type
if ('post.php' === $pagenow && isset($_GET['post'])) {
global $new_current_post_type;
$new_current_post_type = get_post_type( $_GET['post'] );
}
}
将此值提取到cat_slug_goes_here
时,该类别不会更新,因为该值不匹配。
答案 0 :(得分:2)
如果使用编辑器的“添加媒体”功能创建event
时上传图像,则应在操作挂钩运行时将其与原始帖子关联。
然后你可以:
function add_category_automatically($post_ID) {
$attach = get_post($post_ID);
if ($attach->post_parent) {
$cats = get_the_category()($attach->post_parent);
foreach ($cats as $cat) {
wp_set_object_terms($post_ID, $cat->slug, 'category', true);
}
}
}
add_action('add_attachment', 'add_category_automatically');