Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 创建自定义帖子类型时要挂入哪个钩子?_Wordpress - Fatal编程技术网

Wordpress 创建自定义帖子类型时要挂入哪个钩子?

Wordpress 创建自定义帖子类型时要挂入哪个钩子?,wordpress,Wordpress,我讨厌把东西放到functions.php文件中,因此我想挂接到一个预先存在的WP钩子中,以注册/配置我的自定义帖子类型(和分类法)。在我读到的某个地方,“模板重定向”是一个不错的方法,但是当你在管理页面上时,这个钩子似乎没有被触发,因此是相当无用的 任何帮助都将不胜感激。您可以使用functions.php中的include文件来包含所有自定义工作 <?php // functions.php include('inc/custom-functions.php'); ?>

我讨厌把东西放到functions.php文件中,因此我想挂接到一个预先存在的WP钩子中,以注册/配置我的自定义帖子类型(和分类法)。在我读到的某个地方,“模板重定向”是一个不错的方法,但是当你在管理页面上时,这个钩子似乎没有被触发,因此是相当无用的


任何帮助都将不胜感激。

您可以使用functions.php中的include文件来包含所有自定义工作

<?php 
// functions.php
include('inc/custom-functions.php');
?>

我创建了一个非常简单的页面来创建自定义的帖子类型, 您为自定义字段输入所需的选项,它会输出在wordpress中生成所需的代码

其地址如下:

例如:

  • 输入文章类型名称:视频在菜单中选择要放置的位置
  • 然后为该自定义帖子类型选择所需的选项
  • 编辑标签,如果需要,默认情况下只使用名称
阅读有关自定义帖子类型和注册帖子类型的更多信息@

希望这有点帮助;)


Marty

您可以在functions.php中使用包含文件来包含所有自定义工作

<?php 
// functions.php
include('inc/custom-functions.php');
?>

我创建了一个非常简单的页面来创建自定义的帖子类型, 您为自定义字段输入所需的选项,它会输出在wordpress中生成所需的代码

其地址如下:

例如:

  • 输入文章类型名称:视频在菜单中选择要放置的位置
  • 然后为该自定义帖子类型选择所需的选项
  • 编辑标签,如果需要,默认情况下只使用名称
阅读有关自定义帖子类型和注册帖子类型的更多信息@

希望这有点帮助;)


马蒂

我在复习我的开放式问题,它提醒我,我还没有结束这一个。马蒂的回答很有帮助,但实际上指出了一条不同的解决途径。现在回想起来,我不确定我试过什么样的钩子,但最明显的是“init”,我现在正在使用它,它可以工作了

以下是我的流程:

  • 我的插件加载了“plugins\u loaded”事件
  • 它进行一些基本的初始化,然后钩住“admin”钩子
  • 当我的插件触发“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');
    }
    
这种方法为我提供了一种完全解耦的方法,这意味着我可以启用“自定义类型”插件,现在我已经安装了“功能”。然后,我创建了一个配置插件,该插件钩住该功能添加的事件


希望这能有所帮助。

我在复习我的开放式问题,它提醒我,我还没有结束这个问题。马蒂的回答很有帮助,但实际上指出了一条不同的解决途径。现在回想起来,我不确定我试过什么样的钩子,但最明显的是“init”,我现在正在使用它,它可以工作了

以下是我的流程:

  • 我的插件加载了“plugins\u loaded”事件
  • 它进行一些基本的初始化,然后钩住“admin”钩子
  • 当我的插件触发“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');
    }
    
这种方法为我提供了一种完全解耦的方法,这意味着我可以启用“自定义类型”插件,现在我已经安装了“功能”。然后,我创建了一个配置插件,该插件钩住该功能添加的事件


希望这有帮助。

您可以使用
init
hook

注册名为“book”的帖子类型的示例


参考:

您可以使用
init
hook

注册名为“book”的帖子类型的示例


参考资料:

谢谢Marty,但我真的只是在寻找一个好的挂钩,因为一切都写得很好,工作也很好,但我想确保我使用了一个合适的挂钩。注意,我使用的是“admin_init”,我很惊讶地看到它在管理和前端屏幕上都能正常工作(尽管我怀疑它只适用于管理用户)。在任何情况下,让我测试一下我的解决方案,它看起来确实有效。谢谢Marty,但我真的只是在寻找一个好的挂钩,因为一切都写好了,工作正常,但我想确保我使用了一个合适的挂钩。注意,我使用的是“admin_init”,我很惊讶地看到它在管理和前端屏幕上都能正常工作(尽管我怀疑它只适用于管理用户)。在任何情况下,让我测试一下我的解决方案,它看起来确实有效。