为什么我不能从管理视图更新 post 元数据?
Why can't I update post meta from the admin view?
我正在尝试以编程方式在我的 wordpress 网站中生成数据。我将 WPAlchemy 用于我的元数据框,并将 posts-to-posts 插件用于 post-to-post 关系。
在我的生成函数中,我正在生成一个名为 'songs' 的自定义 post 类型,以连接到一个名为 post 的特定 post 类型 'artists'。我正在使用 p2p_type('songs_to_artist')->connect($song_id, $artist_id, ['date' => current_time ('mysql')])
为我生成的每首歌曲连接两个 post。我的问题是,在我拥有 运行 这个功能之后,我无法再在后端编辑 post 视图中从我的 metabox 更新艺术家元数据。
我自己做了一些挖掘并找到了一些结果:
- 如果我 运行 函数没有在函数末尾建立连接,那么一切正常。
- 所有生成的歌曲都连接到他们的艺术家,尽管我遇到了艺术家的元数据没有更新的问题。
- 我可以使用函数
update_post_meta()
或直接在数据库中更新它来更新元数据。
- 所描述的元数据未更新的效果发生在与该特定艺术家的第 937 'songs_to_artist' 次连接创建之后。
- 在此过程中未抛出任何错误。
还有其他人遇到过这个吗?我在其他任何地方都找不到描述此行为的任何内容。
在此先感谢您!
问题是当连接过多时,编辑页面上呈现的数据过多,导致 postmeta 无法保存,因为站点因所有连接数据而变慢。对此的一个简单修复是以下代码:
add_filter( 'p2p_admin_box_show', 'toggle_connection_view', 10, 3 );
function toggle_connection_view( $show, $ctype, $post ) {
if ( $ctype->name == 'songs_to_artist' ) {
$show = false;
}
return $show;
}
这从管理编辑视图中删除了那张特定的卡片,极大地加快了速度并消除了我描述的问题。
我正在尝试以编程方式在我的 wordpress 网站中生成数据。我将 WPAlchemy 用于我的元数据框,并将 posts-to-posts 插件用于 post-to-post 关系。
在我的生成函数中,我正在生成一个名为 'songs' 的自定义 post 类型,以连接到一个名为 post 的特定 post 类型 'artists'。我正在使用 p2p_type('songs_to_artist')->connect($song_id, $artist_id, ['date' => current_time ('mysql')])
为我生成的每首歌曲连接两个 post。我的问题是,在我拥有 运行 这个功能之后,我无法再在后端编辑 post 视图中从我的 metabox 更新艺术家元数据。
我自己做了一些挖掘并找到了一些结果:
- 如果我 运行 函数没有在函数末尾建立连接,那么一切正常。
- 所有生成的歌曲都连接到他们的艺术家,尽管我遇到了艺术家的元数据没有更新的问题。
- 我可以使用函数
update_post_meta()
或直接在数据库中更新它来更新元数据。 - 所描述的元数据未更新的效果发生在与该特定艺术家的第 937 'songs_to_artist' 次连接创建之后。
- 在此过程中未抛出任何错误。
还有其他人遇到过这个吗?我在其他任何地方都找不到描述此行为的任何内容。
在此先感谢您!
问题是当连接过多时,编辑页面上呈现的数据过多,导致 postmeta 无法保存,因为站点因所有连接数据而变慢。对此的一个简单修复是以下代码:
add_filter( 'p2p_admin_box_show', 'toggle_connection_view', 10, 3 );
function toggle_connection_view( $show, $ctype, $post ) {
if ( $ctype->name == 'songs_to_artist' ) {
$show = false;
}
return $show;
}
这从管理编辑视图中删除了那张特定的卡片,极大地加快了速度并消除了我描述的问题。