我讨厌将东西放入 functions.php 文件中,因此想挂接到预先存在的 WP-hook 以注册/配置我的自定义帖子类型(和分类法)。我在某处读到“模板重定向”会是一个不错的选择,但当您在管理页面上时,似乎不会触发该钩子,因此相当无用。
任何帮助,将不胜感激。
我讨厌将东西放入 functions.php 文件中,因此想挂接到预先存在的 WP-hook 以注册/配置我的自定义帖子类型(和分类法)。我在某处读到“模板重定向”会是一个不错的选择,但当您在管理页面上时,似乎不会触发该钩子,因此相当无用。
任何帮助,将不胜感激。
你可以使用init
钩子。
注册名为“book”的帖子类型的示例。
function codex_custom_init() {
$args = array( 'public' => true, 'label' => 'Books' );
register_post_type( 'book', $args );
}
add_action( 'init', 'codex_custom_init' );
参考:法典。
我正在审查我的未解决问题,它提醒我我还没有结束这个问题。Marty 的回答很有帮助,但确实指出了不同的解决方案路径。回想起来,我不确定我尝试过什么钩子,但明显的钩子是“init”,我现在正在使用它并且它有效。
这是我的流程:
当我的插件触发 'admin' 事件时,它会触发以下功能:
function add_hooks () {
// fire a hook that a configuration file can pick up
do_action ( 'lg_custom_types_definition');
// now fire hooks to register custom types
do_action ( 'lg_custom_type_cpt_registration' ); // register
do_action ( 'lg_custom_types_registered_post_types');
do_action ( 'lg_custom_type_tax_registration' ); // register
do_action ( 'lg_custom_types_registered_taxonomies');
}
这种方法为我提供了一种完全解耦的方法,这意味着我可以启用“custom_types”插件,现在我已经安装了“功能”。然后我创建了一个配置插件,该插件挂钩到该功能添加的事件。
希望这可以帮助。
您可以在 functions.php 中使用包含文件来包含您的所有自定义工作。
<?php
// functions.php
include('inc/custom-functions.php');
?>
我创建了一个非常简单的页面来创建您的自定义帖子类型,您输入自定义字段所需的选项,它会吐出所需的代码以便在 wordpress 中生成它。
它位于此处:http ://martin-gardner.co.uk/wordpress-custom-post-type-generator/
例如:
阅读更多关于自定义帖子类型和 register_post_type @
http://codex.wordpress.org/Function_Reference/register_post_type
希望能有所帮助;)
马蒂