检查数据库中是否已经存在post_content

时间:2018-11-21 02:47:04

标签: wordpress wordpress-theming custom-wordpress-pages wordpress-thesis-theme

我需要一个函数来检查post_content是否已经存在于数据库中。

内置于功能post_exists()的Wordpress通过post_title进行检查。

无论post_title是什么,我都需要按post_content进行检查。

存在这样的功能吗?

我该如何解决?

谢谢您的帮助

1 个答案:

答案 0 :(得分:1)

似乎对post_exists()进行了很小的改动就可以了。在您的子主题的functions.php中创建一个类似这样的函数,然后使用它代替post_exists():

function post_exists_by_content($content) {
  global $wpdb;

  $post_content = wp_unslash( sanitize_post_field( 'post_content', $content, 0, 'db' ) );

  $query = "SELECT ID FROM $wpdb->posts WHERE 1=1";
  $args = array();

  if ( !empty ( $content ) ) {
    $query .= ' AND post_content = %s';
    $args[] = $post_content;
  }

  if ( !empty ( $args ) )
    return (int) $wpdb->get_var( $wpdb->prepare($query, $args) );

  return 0;
}