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

标签 wordpress soap wsdl custom-wordpress-pages posts

我有一个连接到soap 服务器的wordpress 站点。问题是每次我运行脚本时 wp_insert_post再次使用相同的结果。
我想检查是否存在 post_title匹配来自 $title 的值然后,如果它们匹配,则阻止 wp_insert_post再次使用相同的值。
这是代码:

try {
    $client = new SoapClient($wsdl, array('login' => $username, 'password' => $password));
    } catch(Exception $e) {
      die('Couldn\'t establish connection to weblink service.');
    }
$publications = $client->GetPublicationSummaries();
foreach ($publications->GetPublicationSummariesResult->PublicationSummaries->PublicationSummary as $publication_summary) {

    // get the complete publication from the webservice
    $publication = $client->getPublication(array('PublicationId' => $publication_summary->ID))->GetPublicationResult->Publication;
    
    // get all properties and put them in an array
    $properties = array();
    foreach ($publication->Property as $attribute => $value) {
        $properties[$attribute] = $value;
    }
    
    // Assemble basic title from properties
    $title = $properties['Address']->Street . ' ' . $properties['Address']->HouseNumber . $properties['Address']->HouseNumberExtension . ', ' . $properties['Address']->City->_;
}

$my_post = array(
    'post_title'=>$title,
    'post_content'=>'my contents',
    'post_status'=>'draft',
    'post_type'=>'skarabeepublication',
    'post_author'=>1,
);
wp_insert_post($my_post);
感谢您的任何帮助。

最佳答案

您可以使用 get_page_by_title()因为它现在支持自定义帖子类型。

if (!get_page_by_title($title, OBJECT, 'skarabeepublication')) :

    $my_post = array(
        'post_title'=>$title,
        'post_content'=>'my contents',
        'post_status'=>'draft',
        'post_type'=>'skarabeepublication',
        'post_author'=>1,
    );
    wp_insert_post($my_post);

endif;

法典信息 here

关于Wordpress 如何通过在运行 "wp_insert_post"之前检查帖子标题是否存在来防止重复帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7652294/

相关文章:

.net - 使用 .NET 使用带有 bool 返回值的 PHP webservice 方法

c# - 如何使用 C# 客户端使用 Django/Python web 服务(所有方法都返回 null)?

java - 如何检索用户在soap wsdl Java Webservice中传递的凭据

jquery - WordPress 网站上的响应图像

jquery - 使父菜单可点击

php - htaccess 将 wordpress 重定向到 index2.php

带有 SSL 证书的 PHP SOAP 客户端

css - WordPress 如何在编辑器中添加标题样式

java - 我可以创建一个通用的 Web 服务/调度方法来响应所有使用 JAX-WS 的请求吗?

python - SOAP suds 库类型未找到错误