WordPress Fatal error: require(): Failed opening required
-
( ! ) Fatal error: require(): Failed opening required ” (include_path=’.:/usr/share/php:/usr/share/pear’) in /var/www/html/wordpress/wp-content/plugins/wp-mvc/core/controllers/mvc_controller.php on line 265
I get this above error despite trying so many suggestions in the forums, stackexchange etc.
I developing a plugin in WordPress 4.0.1 using WP MVC, and it also encapsulates ORM concept that is in-built with WP MVC. I couldnt find a solution for this.
Below is the code: (Admin Controller)/plugins/w2-store/app/controllers/admin/admin_geozone_rules_controller.php
class AdminGeozoneRulesController extends AdminController { // Default items in Geozone Rules view var $default_columns = array( 'id', 'Geozone' => array('value_method' => 'admin_column_geozone'), 'Country' => array('value_method' => 'admin_column_country'), 'Zone' => array('value_method' => 'admin_column_zone'), 'ordering'); // Function to add a new record in wp_w2store_geozonerules table public function add() { $this->set_geozones(); $this->set_countries(); $this->set_zones(); $this->set_geozonerules(); $this->create_or_save(); } public function edit() { $this->set_geozonerules(); $this->set_geozones(); $this->set_countries(); $this->set_zones(); $this->set_object(); $this->verify_id_param(); $this->create_or_save(); } // Function to display the Country name Geozone Rules view public function admin_column_country($object) { return $object->country->country_name; } // Function to display the Geozone name Geozone Rules view public function admin_column_geozone($object) { return $object->geozone->geozone_name; } // Function to display the Zone name Geozone Rules view public function admin_column_zone($object) { return $object->zone->zone_name; } // Data retreived from four different tables using joins private function set_geozonerules() { $this->load_model('GeozoneRule'); $geozonerules = $this->GeozoneRule->find(array( 'joins' => array( 'Geozone', 'Country', 'Zone' ), 'includes' => array( 'Geozone', 'Country', 'Zone' ), 'selects' => array( 'Geozone.id', 'Geozone.geozone_name', 'Country.id', 'Country.country_name', 'Zone.id', 'Zone.zone_name', 'GeozoneRule.id', 'GeozoneRule.ordering' /* ), 'conditions' => array( 'GeozoneRule.geozone_id' => 'Geozone.id', 'GeozoneRule.country_id' => 'Country.id', 'GeozoneRule.zone_id' => 'Zone.id' */ ) ) ); $this->set('geozonerules', $geozonerules); } private function set_geozones() { $this->load_model('Geozone'); $geozones = $this->Geozone->find(array( 'selects' => array( 'id', 'geozone_name' ) )); $this->set('geozones', $geozones); } private function set_countries() { $this->load_model('Country'); $countries = $this->Country->find(array( 'selects' => array( 'id', 'country_name' ) )); $this->set('countries', $countries); } private function set_zones() { $this->load_model('Zone'); $zones = $this->Zone->find(array( 'selects' => array( 'id', 'zone_name' ) )); $this->set('zones', $zones); } public function geozonerule_edit_link($object) { return empty($object->geozonerule) ? null : HtmlHelper::admin_object_link($object->geozonerule, array('action' => 'edit')); } public function geozonerule_view_link($object) { return empty($object->geozonerule) ? null : HtmlHelper::admin_object_link($object->geozonerule, array('action' => 'view')); } } ?>
(Public Controller)
/plugins/w2-store/app/controllers/geozone_rules_controller.php
class GeozoneRulesController extends MvcPublicController { var $after = array('set_geozonerules'); public function set_geozonerules() { $this->load_model('GeozoneRule'); $geozonerules = $this->GeozoneRule->find(); $this->set('geozonerules', $geozonerules); } // Overwrite the default index() method to include the 'is_public' => true condition public function index() { $objects = $this->GeozoneRule->find(array( 'joins' => array('Geozone', 'Country', 'Zone'), 'includes' => array('Geozone', 'Country', 'Zone'), 'selects' => array('Geozone.id, Geozone.geozone_name', array('Country.id, Country.country_name', array('Zone.id', 'Zone.zone_name', array('GeozoneRule.id', 'GeozoneRule.ordering') ) ))) ); $this->set('objects', $objects); // pagination $this->params['page'] = empty($this->params['page']) ? 1 : $this->params['page']; $this->params['conditions'] = array('is_public' => true); $collection = $this->model->paginate($this->params); $this->set('objects', $collection['objects']); $this->set_pagination($collection); echo '<a href="admin.php?page=mvc_geozone_rules-add">Add New Geozone Rule</a>'; } // GeozoneRule selects only GeozoneRule names and ids by default; to select all fields from GeozoneRule, // we'll overwrite the default show() method public function show() { $object = $this->model->find_by_id($this->params['id'], array( 'includes' => array( 'Geozone', 'Country', 'Zone', 'GeozoneRule' => array( 'selects' => 'GeozoneRule.*' ) ) )); if (!empty($object)) { $this->set('object', $object); $this->render_view('show', array('layout' => 'public')); } } } ?>
Model:
class GeozoneRule extends MvcModel { var $table = '{prefix}w2store_geozonerules'; var $primary_key = 'id'; var $display_field = 'id'; var $default_order = 'sort_name'; var $includes = array('Geozone', 'Country', 'Zone'); var $has_and_belongs_to_many = array( 'GeozoneRule' => array( 'join_table' => array('{prefix}w2store_geozones', 'fields' => array('id', 'geozone_name')), array('{prefix}w2store_countries', 'fields' => array('id', 'country_name')), array('{prefix}w2store_zones', 'fields' => array('id', 'zone_name')), 'fields' => array('id', 'ordering') ) ); public function after_find($object) { if (isset($object->geozonerules)) { $geozonerule_names = array(); foreach($object->geozonerules as $geozonerule) { $geozonerule_names[] = $geozonerule->name; } } // print_r ($object); // exit; } public function after_save($object) { $this->update_sort_name($object); } public function update_sort_name($object) { $sort_name = $object->geozonerule_name; $this->update($object->__id, array('sort_name' => $sort_name)); } } ?>
Now the error i got:
`Warning: require(): Filename cannot be empty in /var/www/html/wordpress/wp-content/plugins/wp-mvc/core/controllers/mvc_controller.php
on line 265 Call Stack Time Memory Function Location . . 11 0.0659 3870616 require( ‘/var/www/html/wordpress/wp-content/plugins/w2- . .Fatal error: require(): Failed opening required ” (include_path=’.:/usr/share/php:/usr/share/pear’) in
/var/www/html/wordpress/wp-content/plugins/wp-mvc/core/controllers/mvc_controller.php on line 265 Call Stack Time Memory Function Location . . 11 0.0659 3870616 require( ‘/var/www/html/wordpress/wp-content/plugins/w2-store/app/views/admin/layouts/admin.php’ ) ../mvc_controller.php:265 . .Any possible solutions will be of much help. Thanks a lot.
- The topic ‘WordPress Fatal error: require(): Failed opening required’ is closed to new replies.