亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WordPress:如何以編程方式創建帖子并在之前檢查重復項

WordPress:如何以編程方式創建帖子并在之前檢查重復項

PHP
波斯汪 2023-09-08 17:14:35
我有一個從 API 獲取一些數據的腳本,我需要將此數據(帖子數組)作為帖子插入到 WordPress 中。所以我需要做的是:檢查每個帖子是否存在,以避免由post_name 或slug或title如果可能的話進行配音我已經在名為 的帖子中注冊了自定義分類法newspaper ,并且我需要插入該報紙,無論它是什么title。我還使用帖子注冊了自定義字段,鍵為 fifu_img_url,fifu_img_alt因此_cmb_link我需要一種方法將數據插入到每個帖子的這些鍵中這將在一個 REST API POST 請求中,我已經完成了 API 部分并通過 POST 請求接收數據,剩下的就是按照上面所述處理數據。
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

我已經通過以下方式做到了這一點


$is_post_exists = post_exists($post->title);


if ($is_post_exists === 0) {

    $post_id = wp_insert_post(array(

        'post_title'    => $post->title,

        'post_date'     => $post->date,

        'post_content'  => $post->excerpt,

        'post_author'   => 1,

        'post_status'   => 'publish',

        'meta_input'    => array(

            'fifu_image_url'   => $post->image,

            'fifu_image_alt'   => $post->title,

            '_cmb_link'        =>  $post->link,

        )

    ));


    $termObj = get_term_by('name', $post->newspaper->title, 'newspaper');


    set_post_format($post_id, $post->type);


    if ($termObj) {

        wp_set_object_terms($post_id, array($termObj->term_id), 'newspaper');

    } else {

        $new_newspaper = wp_insert_term($post->newspaper->title, 'newspaper');


        wp_set_object_terms($post_id, array($new_newspaper['term_id']), 'newspaper');

    }


    if ($post_id) {

        $added_posts[] = $post_id;

    }

} else {

    $not_added_posts[] = $post->id;

}


查看完整回答
反對 回復 2023-09-08
  • 1 回答
  • 0 關注
  • 115 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號