Cannot redeclare class PingOptimizer

Статус
В этой теме нельзя размещать новые ответы.

Dador

Читатель
Заблокирован
Регистрация
14 Янв 2008
Сообщения
368
Реакции
100
  • Автор темы
  • Заблокирован
  • #1
Что за ошибка?
Код:
Fatal error: Cannot redeclare class PingOptimizer in /dirhost/www/wp-content/plugins/maxblogpress-ping-optimizer/maxblogpress-ping-optimizer.php on line 39

на 39 строчке собстно:
Код:
class All_in_One_SEO_Pack {
в чём дело не пойму, проблема появляется при
Код:
function activate_plugin($plugin, $redirect = '') {
		$current = get_option('active_plugins');
		$plugin = trim($plugin);

		$valid = validate_plugin($plugin);
		if ( is_wp_error($valid) )
			return $valid;

		if ( !in_array($plugin, $current) ) {
			if ( !empty($redirect) )
				wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), $redirect)); // we'll override this later if the plugin can be included without fatal error
			ob_start();
			[B][COLOR="Red"]include(WP_PLUGIN_DIR . '/' . $plugin);[/COLOR][/B]
			$current[] = $plugin;
			sort($current);
			update_option('active_plugins', $current);
			do_action('activate_' . $plugin);
			ob_end_clean();
		}

		return null;
}

в файле wp-admin/инклуз/plugin.php от вп-му

p.s. функцию ту вызываю как
Код:
switch_to_blog($id);
$plugin = "maxblogpress-ping-optimizer/maxblogpress-ping-optimizer.php";
			$result = activate_plugin($plugin, '');
			if ( is_wp_error( $result ) )
				wp_die( $result->get_error_message() );
			$recent = (array)get_option('recently_activated');
			if( isset($recent[ $plugin ]) ){
				unset($recent[ $plugin ]);
				update_option('recently_activated', $recent);
			}
 
Эта ошибка означает, что этот класс уже где-то объявлен. Такое бывает когда инклудится один и тот же файл более одного раза.

Попробуй заменить
PHP:
include(WP_PLUGIN_DIR . '/' . $plugin);
на
PHP:
include_once(WP_PLUGIN_DIR . '/' . $plugin);
 
  • Автор темы
  • Заблокирован
  • #3
Эта ошибка означает, что этот класс уже где-то объявлен. Такое бывает когда инклудится один и тот же файл более одного раза.

Попробуй заменить
PHP:
include(WP_PLUGIN_DIR . '/' . $plugin);
на
PHP:
include_once(WP_PLUGIN_DIR . '/' . $plugin);

примерно то же и думал, спасибо!

значит буду разбиратся... топик можно закрыть) проблема закрыта
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху