个性化阅读
专注于IT技术分析

WordPress-functions.php导致WordPress错误

我的主题具有以下文件夹结构:

theme
   inc
      theme
         functions.php
      init.php
   functions.php

在inc / theme / functions.php中, 我放置了所有主题特定的功能(即删除分类法等)。在theme / functions.php中, 我具有所有核心功能。

用我当前的代码, WordPress指出”该网站遇到技术难题。”。如果我删除theme / functions.php中的所有内容, 则将加载内容, 但是不会执行inc / theme / functions.php中的代码。例如, 在inc / theme / functions.php中, 我有wp_enqueue_style(‘style’, get_stylesheet_uri());而且所有样式都没有成功。

似乎无法弄清楚:

  1. 为什么theme / functions.php会导致WordPress错误。
  2. 为什么未执行inc / theme / functions.php。

theme / functions.php

<?php

require_once trailingslashit( get_template_directory() ) . 'inc/init.php';

new theme_ThemeFunctions;
class theme_ThemeFunctions {

    function __construct() {
        load_theme_textdomain( 'theme' );
        add_action( 'init', array( $this, 'post_types_taxonomies' ) );
        add_action( 'init', array( $this, 'register_menus' ) );
    }

    public function post_types_taxonomies() {
        register_post_type(
            'case-studies', build_post_args(
                 'case-study', 'Case study', 'Case studies', array(
                    'menu_icon'     => 'dashicons-book', 'menu_position' => 20, 'has_archive'   => true
                 )
            )
        );
    }

    public function register_menus() {
        register_nav_menus(
            array(
                'main'   => __( 'Main Menu', 'theme' ), )
        );
    }

}

?>

inc / theme / functions.php

<?php

function scriptAndStyles() {
    wp_enqueue_style( 'style', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'scriptAndStyles' );

function remove_editor() {
  remove_post_type_support('page', 'editor');
}
add_action('admin_init', 'remove_editor');

// Remove featured image option from pages 
function remove_thumbnail_box() {
    remove_meta_box( 'postimagediv', 'page', 'side' );
}
add_action('do_meta_boxes', 'remove_thumbnail_box');

// Remove posts type option
function post_remove () { 
   remove_menu_page('edit.php');
}
add_action('admin_menu', 'post_remove'); 

?>

inc / init.php

<?php

$include_dir = trailingslashit( get_template_directory() ) . 'inc/';

// Load any custom functions
require_once $include_dir . 'theme/functions.php';

?>

#1


你需要使用get_template_directory()来获取文件。

并在类本身下面使用新的theme_ThemeFunctions。

也可用于查看错误:

define('WP_DEBUG', 1);
define('WP_DEBUG_DISPLAY', 1);
赞(0)
未经允许不得转载:srcmini » WordPress-functions.php导致WordPress错误

评论 抢沙发

评论前必须登录!