编辑:更多代码。
问题:我想获得一篇文章的帖子。它适用于updated_post的情况,但不适用于new_post,我只是无法找出原因..
这是案件的功能:
function userpro_sc_new_post( $new_status, $old_status, $post ) {
global $userpro_social;
$exclude = userpro_sc_get_option('excluded_post_types');
if ($exclude != ''){
$exclude_types = explode(',',$exclude);
} else {
$exclude_types = array('nav_menu_item');
}
if (!in_array($post->post_type, $exclude_types )) {
// new post
if ( $new_status == 'publish' && $old_status != 'publish' ) {
$user = get_userdata($post->post_author);
$userpro_social->log_action( 'new_post', $user->ID, $post->ID, $post->post_title, $post->post_type );
}
// updated post
if ($new_status == 'publish' && $old_status == 'publish' ){
$user = get_userdata($post->post_author);
$userpro_social->log_action( 'update_post', $user->ID, $post->ID, $post->post_title, $post->post_type );
}
}
}
这是在案例中运行的代码:
function log_action($action, $user_id, $var1=null, $var2=null, $var3=null) {
global $userpro, $userpro_social;
$activity = get_option('userpro_activity');
$timestamp = current_time('timestamp');
$status = '';
switch($action){
case 'new_post':
$myId = get_post_meta(get_the_ID(), 'wpex_post_video_oembed', true);
$status .= $myId;
break;
case 'update_post':
$myId = get_post_meta(get_the_ID(), 'wpex_post_video_oembed', true);
$status .= $myId;
break;
}
就像我说的,update_post有效,所以我可以看到ID ... new_post不起作用。为什么呢?
我简化了代码运行,但它仍然是同一个问题。
请帮忙!
答案 0 :(得分:1)
在插件中使用get_post_meta()
之前,您必须了解三件事。
$wpdb
)。$post_id = $_POST['postid'];
)。update_post_meta($post_ID, 'video_id', true);
)。以上任何一种都可能是你的问题。请参考并尝试。
答案 1 :(得分:0)
global $post;
$avriable_name=get_post_meta($post->ID, 'video_id', true);
尝试上面的代码,全局帖子将有助于获取帖子的ID。如果你没有decalre它$ post-> ID将是空白的,休息将不起作用。
如果您需要进一步的帮助,请与我们联系。
答案 2 :(得分:0)
试试这个:
$myId = (get_post_meta(get_the_ID(), 'wpex_post_video_oembed',true));