自定义帖子类型+20K帖子=空白/404在Admin edit.php内

时间:2015-12-21 作者:Joshua4550

我通过register\\u Post\\u Type()注册了一个自定义Post类型,并通过add\\u meta\\u box()函数在主题中注册了大约45个自定义字段。

自定义帖子类型参数:

    \'labels\'             => $labels,
    \'description\'        => __( \'Custom Post Type\', \'hg\' ),
    \'public\'             => true,
    \'publicly_queryable\' => true,
    \'show_ui\'            => true,
    \'show_in_menu\'       => true,
    \'query_var\'          => true,
    \'rewrite\'            => array( \'slug\' => \'testtype\' ),
    \'capability_type\'    => \'post\',
    \'has_archive\'        => false,
    \'hierarchical\'       => true,
    \'menu_position\'      => null,
    \'supports\'           => array( \'title\', \'editor\', \'thumbnail\' )
在那里一切都很好,通过管理编辑器为这种帖子类型手动创建帖子的一些测试证明了这一点。

我编写了一个脚本,将大约20000个或更多的内容批量导入到这个自定义帖子类型和注册的自定义字段中。在我继续之前,我想指出的是,我第一次运行这个脚本时只有50个左右的条目,它导入了,一切都很好。

因此,一旦自定义帖子类型的20k帖子被导入,我就返回我的管理员,通过管理员(自动生成自定义帖子类型UX)点击自定义帖子类型,然后我收到一个空白页面!

我进行了研究,结果增加了PHP内存限制、WP内存限制、WP最大内存限制和PHP执行时间。之后,我现在收到了通用的WordPress 404,而不仅仅是一个空白页面。

下面是我添加到wp配置中的内容。php:

define( \'WP_MEMORY_LIMIT\', \'256M\' );
define( \'WP_MAX_MEMORY_LIMIT\', \'2560M\' );
set_time_limit(120);
我还得出结论,这与主题或插件无关。一旦我通过phpMyAdmin手动从数据库中删除所有20k篇文章,编辑。php页面恢复正常。这是一个查询重载吗?

请帮忙!

提前感谢!

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我不认为有任何明智的方法可以将这个问题与你的帖子数量排序,除了设置hierarchicalfalse. 背景hierarchicaltrue 对性能有巨大影响,并且不适用于自定义帖子类型。

如果您不需要像内置帖子类型这样的帖子之间的父/子关系page 那么你真的应该hierarchical 错了。如果你真的需要这种关系,那么不幸的是,你已经很饱了。就你的帖子数量而言,我看不到任何可行的解决方案来解决你的问题

只是一个提示,请记住在设置后冲洗永久链接hierarchicalfalse