Пример #1
0
<?php

/**
 * Admin View: Generator Editor
 */
if (!defined('ABSPATH')) {
    exit;
}
$page_key = isset(WC_GZDP_Admin_Generator::instance()->pages[$current_section]) ? WC_GZDP_Admin_Generator::instance()->pages[$current_section] : false;
?>

<div class="wc-gzdp-generator-result">

	<?php 
wp_editor($html, 'wc_gzdp_generator_content', array('media_buttons' => false));
?>

	<p class="submit">
		<?php 
if ($page_key && get_option('woocommerce_' . $page_key . '_page_id')) {
    ?>
			<input type="hidden" name="generator_page_id" value="<?php 
    echo get_option('woocommerce_' . $page_key . '_page_id');
    ?>
" />
			<input type="hidden" name="generator" value="<?php 
    echo $current_section;
    ?>
" />
			<input type="submit" class="button-primary" value="<?php 
    echo sprintf(_x('Save as %s', 'generator', 'woocommerce-germanized-pro'), get_the_title(get_option('woocommerce_' . $page_key . '_page_id')));
        }
        remove_action('woocommerce_gzd_after_save_section_' . $generator, array($this, 'save'), 0);
    }
    public function parse_page_url($value, $setting)
    {
        if (!empty($value)) {
            return get_permalink(absint($value));
        }
        return false;
    }
    public function save_to_page()
    {
        $append = false;
        if (isset($_POST['generator_page_append']) && !empty($_POST['generator_page_append'])) {
            $append = true;
        }
        $generator = sanitize_title($_POST['generator']);
        $post = get_post(absint($_POST['generator_page_id']));
        if ($post) {
            $content = get_transient('woocommerce_gzdp_generator_' . $generator);
            if ($append) {
                $content = $post->post_content . "\n" . $content;
            }
            wp_update_post(array('ID' => absint($_POST['generator_page_id']), 'post_content' => $content));
            update_post_meta($post->ID, 'woocommerce_gzdp_generator_version_' . $generator, get_option('woocommerce_gzdp_generator_version_' . $generator));
        }
        delete_transient('woocommerce_gzdp_generator_' . $generator);
    }
}
WC_GZDP_Admin_Generator::instance();