Created
October 8, 2017 14:32
-
-
Save campusboy87/b2ad5ebfd9b56dc26d905095ce2925d0 to your computer and use it in GitHub Desktop.
Публикует спаршенную запись c проверкой, есть ли подобная запись в БД по уникальному ключу
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Проверяет наличие метаполя поста с заданным занчением | |
* | |
* @param string $url уникальное значение для поста, к примеру путь будет url спаршенной статьи | |
* | |
* @return bool | |
*/ | |
function is_unique_meta_parse_post( $url ) { | |
global $wpdb; | |
$sql = "SELECT COUNT(meta_id) FROM {$wpdb->postmeta} WHERE meta_key = 'unique_parse_id' AND meta_value = %s"; | |
$query = $wpdb->prepare( $sql, $url ); | |
$metas = $wpdb->get_var( $query ); | |
return $metas ? true : false; | |
} | |
/** | |
* Публикует спаршенную запись | |
* | |
* @param array $post_data данные для поста, смотри функцию wp_insert_post() | |
* @param string|int $url уникальный идентификатор поля | |
*/ | |
function insert_parse_post( $post_data, $url ) { | |
if ( ! is_unique_meta_parse_post( $url ) ) { | |
return; | |
} | |
$post_id = wp_insert_post( wp_slash( $post_data ) ); | |
if ( $post_id ) { | |
update_post_meta( $post_id, 'unique_parse_id', $url ); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment