使用自定义帖子类型的Wordpress Fusion核心插件

时间:2015-07-29 11:48:01

标签: php wordpress wordpress-plugin

所以我想在我创建的一些自定义帖子类型中加入fusion builder的帖子编辑器。有一个解决方案,融合核心>管理员> class-pagebuilder.php并编辑第53行。

var $allowed_post_types = array('page','post','avada_faq','avada_portfolio', 'add my custom types here');

但是只要有更新,这将被删除,我不想担心这个,或者担心它!所以,无论如何我可以创建一个插件助手,或者在我的functions.php文件中添加一些东西,每次有更新时都不会被替换。

2 个答案:

答案 0 :(得分:1)

该实例是文件fusion-core.php的创建第22行

所以除此之外,你可以尝试这样的事情:

add_action ("plugins_loaded", function () {

    // unregister habitual call
    remove_action( 'plugins_loaded', array( 'Fusion_Core_PageBuilder', 'get_instance' ) );

    // call of the instance
    // you have to change the path of the fusion-core plugin

    if( ! get_option( 'avada_disable_builder' ) ) {
        if ( is_admin() ) {
            require_once( path of the fusion-core plugin . 'admin/class-pagebuilder.php' );

            $instance = Fusion_Core_PageBuilder::get_instance();
            $instance->allowed_post_types[] = "custom post type";
        }
    }

}, 9); // priority 9 to be called before the line of fusion-core.php

答案 1 :(得分:0)

对我来说,我发现没有必要删除这个动作......事实上,当我这样做时它没有用。相反,我只是调用相同的操作并更改了值。我还发现我只需要“UI实例”。这对我有用。我现在已成功将页面构建器添加到我的网站上的十种不同的帖子类型,请参阅下文:

if ( is_admin() ) {
    require_once('path to plugin directory/fusion-core/admin/class-pagebuilder.php' );
    require_once('path to plugin directory/fusion-core/admin/page-builder/classes/class-ui.php' );

    $ui = Fusion_Core_PageBuilder_UI::get_instance();
    $ui->settings['allowed_post_types'][] = 'your_custom_post_type';

}