php - WordPress 保存到数据库(ajax)
问题描述
所以我有这段代码(PHP和jQuery),它应该将数据保存到WordPress数据库中并检测数据库中是否已经存在帖子。如果帖子存在,请回显“已保存”。
问题是,它保存了一些项目而没有保存其他项目。我不确定还可以做什么来调试这个问题。
public static function wpnp_save_news(){
global $wpdb;
$table_name = $wpdb->prefix.'wpnp';
if (is_user_logged_in()) {
if (isset($_POST['delete'])) {
$id = $_POST['id'];
$wpdb->delete( $table_name, array( 'id' => $id ) );
echo "Article deleted";
}elseif (isset($_POST['savefav'])) {
$user = $_POST['user_id'];
$title = mysql_real_escape_string($_POST['title']);
$sql = "SELECT count(*) FROM $table_name WHERE user=$user and title='".$title."'";
$count = $wpdb->get_var($sql);
if($count <= 0 ){
$wpdb->insert(
$table_name,
array(
'user' => $_POST['user_id'],
'title' => $_POST['title'],
'summary' => $_POST['summary'],
'url' => $_POST['post_url'],
'img' => $_POST['img_url'],
'author' => $_POST['author'],
'source' => $_POST[ 'source']
)
);
echo "Article saved";
}else{
echo "Article already saved";
}
}else{
echo "Please login to save articles";
}
}
wp_die();
}
-----------------------------------------
$('.wpnp-delete').on('click',(e)=>{
e.preventDefault();
const url = wpnpObj.au;
const delete_data = {
action: wpnpObj.ff,
'delete': true,
'id': e.currentTarget.dataset.id
};
const success = data =>{
alert(data)
window.location.reload()
};
const err = data =>{
console.log(data);
}
$.post(url,delete_data,success).fail(err);
})
解决方案
推荐阅读
- mongodb - 使用 mongo-db updateMany 查询的语法错误
- sql - 在 scala 中选择几个大的 sql 后,JDBC 变得非常慢
- javascript - 为什么我面临语音 RSS api 的一些问题
- javascript - 为什么不再为我的注册表单生成 stripeTokens?
- swift - 从查询中检索 Firestore 文档计数以在 UIcollectionView 单元格计数中使用,Swift 4.0
- django - 代码应该打印特定用户的帖子,但它正在打印所有用户的帖子
- mysql - 是否可以创建这样的 MySQL 查询?
- java - Java JPA - 如何使用列表放置对象并使用 CRUD 更新列表对象?
- angular - 导入模块以在其他模块中部分使用
- ios - iOS - 是否可以通过编程方式拨打电话阻止任何类型的拨出电话声音?