0
我有一個每天運行的函數,我想檢查帖子是否過期(基於自定義postmeta字段),如果是這樣,則將帖子狀態設置爲草稿。我認爲我有正確的原則,但是有些東西可能是錯誤的,而這些語法並沒有使它正常工作。這是迄今爲止功能:如果帖子元字段等於值,使產品帖子草稿
function make_product_draft() {
global $wpdb;
$sql = "
UPDATE $wpdb->posts
INNERJOIN $wpdb->postmeta on $wpdb->posts.ID = $wpdb->postmeta.post_id
SET $wpdb->posts.post_status = 'draft'
WHERE $wpdb->posts.post_type = 'product' AND $wpdb->posts.post_status = 'publish' AND $wpdb->postmeta.post_type = 'expired'
";
$wpdb->query($sql);
}
我想我要去的地方錯的是當我這樣做:$ wpdb-> posts.ID?我不確定什麼是正確的語法。您的幫助是非常感謝:)
你要「INNERJOIN」拆分爲「INNER JOIN」,另外,我會建議使用前綴,而不是調用的屬性值$ wpdb,所以而不是$ wpdb-> posts,你可以使用{$ wpdb-> prefix}帖子等等。 – niklaz
非常感謝niklaz我會檢查這一點,如果它有效,我會報告回答。謝謝 :) – user1190132