Error When Editing Page
-
Error thrown Class 'MslsBlogCollection' not foundI am getting the above error when trying to edit any of my pages on the site https://terraplas.com. This has only started happening recently, and no updates have been made to the site.
Any ideas?
-
Do you have the latest version installed? Do you have some custom code in the functions.php of your theme?
MSLS has namespaced classes and the class MslsBlogCollection is reachable as lloc\Msls\MslsBlogCollection … for an example read on here: http://msls.co/developer-docs/snippets-examples.html#get-the-current-language
Sorry, our developer who wrote this site is no longer available, and I’m not clever enough to work this out myself.
We have version 2.3.0 installed, which I believe is the latest version.
No custom code in the function.php, but we have this document in the themes/<themename>/widget_shared_gallery.php that has very similar code to that in the docs you provided.
<?php /** * Create Widget */ class Shared_Gallery extends WP_Widget { // Class constructor function __construct() { parent::__construct( 'shared-gallery', 'Shared Gallery', array( 'classname' => 'shared-gallery', 'description' => 'Displays a gallery from an alternate blog on this network' ) ); } // Output for widget content public function widget($args, $instance) { echo $args['before_widget']; // if title is not null or empty if ($instance['title'] != null && $instance['title'] != '') { // display the title echo '<h3 class="widget-title">'.$instance['title'].'</h3>'; } $blogID = $instance['blogID']; $galleryID = $instance['galleryID']; // switch blog switch_to_blog($blogID); // display gallery nggShowGallery($galleryID, 'Terraplas', 9999); // restore blog restore_current_blog(); // $query = 'SELECT filename, description, alttext FROM wp_'.wpdb::get_blog_prefix($blogID).'ngg_pictures WHERE galleryid = '.$galleryID; // global $wpdb; // $images = $wpdb->get_results( $query ); // $str = '<div>'; // foreach ($images as $image) { // $str .= '<img src="'.$image->filename.'" alt="'.$image->alttext.'"/>'; // } // $str .= '</div>'; // echo $str; echo $args['after_widget']; } // Output for admin widget creation public function form($instance) { wp_enqueue_script( 'shared-gallery', get_stylesheet_directory_uri() . '/scripts/shared-gallery.js' ); $blog_list = MslsBlogCollection::instance()->get_current_blog(); $str = '<input type="hidden" id="blogID" name="'. esc_attr( $this->get_field_name( 'blogID' ) ) .'"/>'; $str .= '<input type="hidden" id="galleryID" name="'. esc_attr( $this->get_field_name( 'galleryID' ) ) .'"/>'; $str .= '<label>Gallery Title</label><br />'; $str .= '<input type="text" id="'.esc_attr( $this->get_field_name( 'title' ) ).'" name="'. esc_attr( $this->get_field_name( 'title' ) ) .'" /><br />'; $str .= '<label>Select a Blog</label><br />'; $str .= '<select id="shared-gallery-blog" onchange="setSharedBlog()">'; $str .= '<option value=""> - Please Select a Blog - </option>'; foreach ($blog_list as $blog) { $str .= '<option value="'.$blog->blog_id.'">'.$blog->blogname.'</option>'; } $str .= '</select><br /><br />'; $str .= '<label id="shared-gallery-title" style="display:none;">Select a Gallery</label>'; foreach ($blog_list as $blog) { $str .= '<select class="shared-gallery-gallery" id="shared-gallery-galleries-'.$blog->blog_id.'" onchange="setSharedGallery()" style="display:none;">'; $str .= '<option value=""> - Please Select a Gallery - </option>'; $query = 'SELECT gid, title FROM wp_' . wpdb::get_blog_prefix($blog->blog_id) . 'ngg_gallery'; global $wpdb; $results = $wpdb->get_results( $query ); foreach ($results as $gallery) { $str .= '<option value="'.$gallery->gid.'">'.$gallery->title.'</option>'; } $str .= '</select>'; } echo $str; } // Update function for widget public function update($new_instance, $old_instance) { $instance = array(); $instance['title'] = $new_instance['title']; if (!empty($new_instance['blog_gallery'])) { $vars = array_split($new_instance['blog_gallery'], ':'); $instance['blogID'] = $vals[0]; $instance['galleryID'] = $vals[1]; } else { $instance['blogID'] = $old_instance['blogID']; $instance['galleryID'] = $old_instance['galleryID']; } return $instance; } } // Register widget add_action( 'widgets_init', function(){ register_widget( 'Shared_Gallery' ); }); ?>You can probably correct this easily. At the beginning of the file (right after the line
<?php), just insert this line:use lloc\Msls\MslsBlogCollection;-
This reply was modified 6 years, 6 months ago by
Dennis Ploetner.
That’s worked perfectly. Thanks for your help!
-
This reply was modified 6 years, 6 months ago by
The topic ‘Error When Editing Page’ is closed to new replies.