高级自定义域和发布类型

时间:2016-02-12 作者:Julius75

我制作了一个只用于一个站点的快速插件(多个域,但主题、插件和内容相同)。在其中一个网站上,我得到一个错误

警告:call\\u user\\u func\\u array()要求参数1是有效回调,第一个数组成员不是/httpd中的有效类名或对象。www/wp-includes/plugin。php在线525

在所有其他安装上,它运行正常,没有任何问题。

我添加到插件的代码是:

include_once( \'acf.php\' );
define( \'ACF_LITE\', true );

function create_posttype() {
    register_post_type( \'menyside\',
            array(
                \'labels\' => array(
                \'name\' => __( \'Menysider\' ),
                \'singular_name\' => __( \'Menyside\' )
                ),
                \'public\' => true,
                \'has_archive\' => false,
                \'rewrite\' => array(\'slug\' => \'meny\'),
                \'supports\' => array( \'title\', \'editor\', \'comments\', \'excerpt\', \'custom-fields\', \'thumbnail\' ),
            )
        );
    }
add_action( \'init\', \'create_posttype\' );
add_action( \'plugins_loaded\', array( $this, \'acf_fields\' ) );
add_theme_support( \'post-thumbnails\',\'menyside\');

if( function_exists(\'acf_add_local_field_group\') ):

acf_add_local_field_group(array (
    \'key\' => \'group_56b90ec45265a\',
    \'title\' => \'menufields\',
    \'fields\' => array (
        array ( 

...... (continued, data from PHP output from ACF)
知道这是什么原因吗?

1 个回复
SO网友:Xavier Serrano

正如人们所说,您的代码可能有很多地方出错。让我们一行一行地开始。

这是一个插件还是一个主题内的文件include_once( \'acf.php\' ); 我假设你的文件和当前文件在同一个目录下,否则你就把它包括错了。

define( \'ACF_LITE\', true ); 需要在每次定义之前或在使用/调用之前发生。

如前所述$this 在里面add_action( \'plugins_loaded\', array( $this, \'acf_fields\' ) ); 不能在类外调用同样的&$this 它用于引用类,“act\\u fields”是该类中的函数/方法

你真的不需要这个add_theme_support( \'post-thumbnails\',\'menyside\');在创建上述帖子类型时,您已经在添加支持。

相关推荐