创建自定义帖子类型时,您可以定义与该帖子类型相关的各种元素,这些元素基本上允许您定义菜单标题、“添加新帖子”文本等内容。
我想弄清楚的是我需要向函数中添加什么代码。php文件,以便我可以为wordpress添加的现有“默认”帖子类型设置这些内容。
例如,让我们假设我想将“页面”帖子类型更改为“主要部分”。
目前我所做的是使用以下代码:
add_filter( \'gettext\', \'change_admin_menu_pages\' );
add_filter( \'ngettext\', \'change_admin_menu_pages\' );
function change_admin_menu_pages( $translated ) {
$translated = str_replace( \'Page\', \'Core Page\', $translated );
$translated = str_replace( \'page\', \'core page\', $translated );
return $translated;
}
虽然这很有效,只是用“主要部分”替换了“页面”的每个实例,但我注意到它也会影响站点的其他区域,例如在url中使用“pages=”的插件。
像这样的有没有一种简单的方法来定义默认wordpress帖子类型(如“页面”和“帖子”)的帖子类型设置?如果是这样的话,请有人快速说明这可能是如何工作的?
另一方面。。。我觉得使用过滤器
添加筛选器(\'ngettext\',…)实际上非常有用,但我不明白的是如何限制允许过滤内容的区域。
如果您能回答这两个问题或任何一个问题,我们将不胜感激
提前谢谢!
SO网友:wyrfel
迈克,你应该在“另一个简单的”上贴上一个“萨卡姆”的标签线有一段时间,我不太明白破解核心菜单数组是多么容易。。。直到我读到你的“挑战”。
我在使用3.0.5时遇到了类似的挑战。。。这是尝试在自定义帖子类型部分下面添加自定义页面。执行此操作时,它始终作为“编辑”加载。php?post\\u类型=xyz。
有趣的是,编辑。php包含admin标头。php,然后它又包括admin。php,这将导致加载通过add\\u submenu\\u page()指定的页面。但首先,这似乎更像是一个幸运的发现,其次,它只有在编辑后才能做到这一点。php完成了所有的初始化工作。令人不快的
此外,当您尝试在页面上重用URL或其部分(如查询args等)时,会导致麻烦。
总而言之,我完全同意。。。这件事太容易了,无法证明对管理菜单生成进行彻底检查是正确的
无论如何,谢谢你的提示,我现在要尝试通过直接破解阵列来实现我的目标。