관리-도구
편집 파일: uninstall.php
<?php /** * Uninstall procedure. * Last update 2013-12-09 * * @since Version 4.0.7 * @author Eliezer Vargas */ /* Exit if plugin delete hasn't be called */ if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { exit(); } global $wpdb; /* Yarpp option names */ $optNames = array( 'yarpp', 'yarpp_pro', 'yarpp_fulltext_disabled', 'yarpp_optin_timeout', 'yarpp_version', 'yarpp_version_info', 'yarpp_version_info_timeout', 'yarpp_activated', 'widget_yarpp_widget', 'yarpp_upgraded', 'yarpp_activate_timestamp', ); /* Select right procedure for single or multi site */ if ( is_multisite() ) { /* Get sites ids */ $blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" ); /* Get main site id */ $original_blog_id = get_current_blog_id(); /* loop through all sites */ foreach ( $blog_ids as $blog_id ) { switch_to_blog( $blog_id ); clean( $optNames, $wpdb ); }/*end foreach*/ switch_to_blog( $original_blog_id ); } else { clean( $optNames, $wpdb ); }/*end if*/ /** * Loop through option array and delete the option and clear and drop cache tables. * * @param array $opts Array of yarpp's options * @param object $wpdb WordPress db global */ function clean( array $opts, $wpdb ) { foreach ( $opts as $opt ) { delete_option( $opt ); } /* Truncate, clear and drop yarpp cache */ $wpdb->query( 'DELETE FROM `' . $wpdb->prefix . 'postmeta` WHERE meta_key LIKE "%yarpp%"' ); $wpdb->query( 'TRUNCATE TABLE `' . $wpdb->prefix . 'yarpp_related_cache`' ); wp_cache_flush(); $wpdb->query( 'DROP TABLE `' . $wpdb->prefix . 'yarpp_related_cache`' ); /* Delete users yarpp related data */ $wpdb->query( 'DELETE FROM `' . $wpdb->prefix . 'usermeta` WHERE meta_key LIKE "%yarpp%"' ); }//end clean()