编辑/添加帖子时在函数中获取帖子ID

时间:2021-01-27 作者:SoccerZortz

我是PHP新手,现在在WordPress工作。我在函数中编写了一个函数。php文件。我的功能是在用户添加或编辑帖子时,根据页面上的另一个字段更新自定义字段。我在函数中获取帖子id时遇到问题。我怎样才能获得帖子Id?我做错了什么?

以下是我的功能:

  function get_postid() {
    global $post;
    $id = $post->ID;
  }

  add_action( \'admin_notices\', \'get_postid\' );

  function set_post_sort_order() {
    /* Get post id */
    $post_id = get_postid();

    
    /* Does object exist */
    if ( !$post_id ):

        /* Get which product taxonomy is selected. */
        $terms = get_the_terms( $post_id, \'product\' );
        $sort_order = 2;

        if ( ! empty( $terms ) ) :
          foreach( $terms as $term ) {
            if ( $term->name == \'blah blah\' ) :
                $sort_order = 1;
            endif;

            update_post_meta( $post_id, \'post_order\', $sort_order );
          } 
        endif;

    endif;
  }

1 个回复
最合适的回答,由SO网友:Had1z 整理而成

您的职能get_postid() 不返回任何内容。它应该返回id:

function get_postid() {
    global $post;
    return $post->ID; 
}
如果要使用$post_id 我想你的第一次if 声明是错误的,因为$post_id 应评估为truefalse. 所以应该是这样的:if ( $post_id ):