Skip to content

Instantly share code, notes, and snippets.

@campusboy87
Created October 8, 2017 14:32
Show Gist options
  • Save campusboy87/b2ad5ebfd9b56dc26d905095ce2925d0 to your computer and use it in GitHub Desktop.
Save campusboy87/b2ad5ebfd9b56dc26d905095ce2925d0 to your computer and use it in GitHub Desktop.
Публикует спаршенную запись c проверкой, есть ли подобная запись в БД по уникальному ключу
<?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