首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过在运行"wp_insert_post"之前检查帖子标题是否存在来防止重复发帖?

要防止在运行 "wp_insert_post" 之前检查帖子标题是否存在来防止重复发帖,您可以使用以下方法:

  1. 使用 get_page_by_title 函数检查帖子标题是否存在:

在调用 wp_insert_post 函数之前,您可以使用 get_page_by_title 函数检查帖子标题是否已经存在。如果存在,则不调用 wp_insert_post 函数。

代码语言:php
复制
$title = '帖子标题';
$existing_post = get_page_by_title( $title, OBJECT, 'post' );

if ( ! $existing_post ) {
    $post_id = wp_insert_post( array(
        'post_title' => $title,
        'post_content' => '帖子内容',
        'post_status' => 'publish',
        'post_type' => 'post',
    ) );
}
  1. 使用 pre_get_posts 钩子:

您可以使用 pre_get_posts 钩子来检查帖子标题是否存在。如果存在,则不调用 wp_insert_post 函数。

代码语言:php
复制
function check_duplicate_title( $query ) {
    if ( $query->is_main_query() && $query->is_search ) {
        $query->set( 'post_title', '帖子标题' );
    }
}
add_action( 'pre_get_posts', 'check_duplicate_title' );
  1. 使用 save_post 钩子:

您可以使用 save_post 钩子来检查帖子标题是否存在。如果存在,则不保存帖子。

代码语言:php
复制
function check_duplicate_title_before_save( $post_id ) {
    $title = get_the_title( $post_id );
    $existing_post = get_page_by_title( $title, OBJECT, 'post' );

    if ( $existing_post && $existing_post->ID != $post_id ) {
        wp_delete_post( $post_id, true );
    }
}
add_action( 'save_post', 'check_duplicate_title_before_save' );

这些方法可以帮助您在运行 wp_insert_post 之前检查帖子标题是否存在,从而防止重复发帖。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 提高工作效率的神器:基于前端表格实现Chrome Excel扩展插件

    Chrome插件,官方名称extensions(扩展程序);为了方便理解,以下都称为插件。 我们开发的插件需要在浏览器里面运行,打开浏览器,通过右上角的三个点(自定义及控制)-更多工具-拓展程序-打开开发者模式。点击"加载已解压的拓展程序,选择项目文件夹,就可将开发中的插件加载进来。 插件是基于Web技术构建的,例如HTML、JavaScript和CSS。它们在单独的沙盒执行环境中运行并与Chrome浏览器进行交互。插件允许我们通过使用API修改浏览器行为和访问Web内容来扩展和增强浏览器的功能。 相信使用Chrome(谷歌浏览器)的小伙伴们都在用Chrome扩展插件(Chrome Extension),类似一键翻译、批量下载网页图片、OneTab、甚至大名鼎鼎的 ”油猴” 等。

    01
    领券