Veja o trecho de código abaixo para inserir uma página do WordPress diretamente no banco de dados via SQL.
global $wpdb;
$tablename = $wpdb->prefix . "posts";
$post_type = "page";
$post_title = "Test Page Title2";
$post_content = "Test Page Content2";
$post_status = "publish";
$post_author = 1;
$post_name = "test-page-title2";
if (!get_page_by_path( $post_name, OBJECT, 'page')) { // Check If Page Not Exits
$sql = $wpdb->prepare("INSERT INTO `$tablename` (`post_type`, `post_title`, `post_content`, `post_status`, `post_author`, `post_name`) values (%s, %s, %s, %s, %d, %s)", $post_type, $post_title, $post_content, $post_status, $post_author, $post_name);
$wpdb->query($sql);
}
Aqui $wpdb é a variável global do banco de dados WordPress. A função “Prepare” é usada para validar dados e evitar injeção de SQL de hackers. Por outro lado, “query” executa diretamente o SQL.