Jay*_*ñas 5 wordpress soap wsdl
我有一个连接到肥皂服务器的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);
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助.
Coo*_*evo 14
您现在可以使用,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;
Run Code Online (Sandbox Code Playgroud)
法典信息在这里
小智 7
很惊讶没有post_exists在wp-includes/post.php中看到功能的提及.请参阅wpseek上的条目.在手抄本中没有条目.最简单的方法就是get_page_by_title返回一个post id(如果没有找到则返回0)而不是对象(或null).
$post_id = post_exists( $my_title );
if (!$post_id) {
// code here
}
Run Code Online (Sandbox Code Playgroud)
回复晚了非常抱歉。我使用了机器人在评论中所说的内容,这解决了我的问题。谢谢
$post_if = $wpdb->get_var("SELECT count(post_title) FROM $wpdb->posts WHERE post_title like '$title_from_soap'");
if($post_if < 1){
//code here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12033 次 |
| 最近记录: |