自定义元框-临时问题-移至垃圾箱问题

时间:2019-07-01 作者:Preston

最近,在将Wordpress从4.9.2更新到5.2之后,我不得不修改一些代码,以使我的自定义帖子类型列表(或帖子)正常工作并正确保存数据。具体来说,通过自定义元框,我可以设置为处理自定义分类法(使用选择下拉菜单),而不是使用默认复选框。

NOTES: 我目前可以创建新列表,更新列表,but DELETING the listing I have issues with.

当我转到我的列表屏幕(或列表自定义帖子类型)时,我会尝试选中多个复选框,然后单击MOVE TO TRASH.

当我搬进垃圾桶时,它给了我"The link you followed has expired." 页然而,当我刷新页面以返回到我的列表时,列表似乎已被移到垃圾箱,但出现了一些问题,因为它显示了“您跟踪的链接已过期”页面。

任何帮助都将不胜感激。This is being developed locally on WAMP, PHP version 7.0.1, Wordpress version 5.2.2 .

TO REVIEW MY CODE, GO TO MY GITHUB AND VIEW THE META_BOXES.PHP FILE.https://github.com/pcross1986/car-dealership

Screenshots below:

enter image description hereListingsenter image description here

1 个回复
SO网友:Antti Koskinen

我又看了一遍代码,发现save函数缺少几个检查。因此,请更换meta\\u框。php:366,

if ( empty( $_POST[\'nonce_car_details\'] ) ) {
    return;
}
check_admin_referer( \'save_car_details_meta\', \'nonce_car_details\' );
if ( ! current_user_can( \'edit_post\', $post_id ) ) {
  return;
}
if ( wp_is_post_autosave( $post_id ) ) {
  return;
}
if ( wp_is_post_revision( $post_id ) ) {
  return;
}
这里的关键是empty 检查nonce。当帖子被丢弃时,可能没有设置Nonce值,这会导致check_admin_referer 打印错误消息失败。抱歉,这是我的错。

您还可以切换到使用特定于帖子类型的保存操作,以便只有在正确的帖子类型出现问题时,才会触发metabox保存函数。

add_action(\'save_post_listings\', \'wpt_save_details_meta\', 1, 2);
关于自定义分类法的P.S。php第3-29行可能应该在里面create_listings_taxonomies() 和其他人一起register_taxonomy 电话。