add_cap(WP_FORCE_REFRESH_CAPABILITY); }); // Add the script for normal frontfacing pages (non-admin) add_action("wp_enqueue_scripts", function(){ // Include the normal JS add_script("force-refresh-js", "/dist/js/force-refresh.js", true); // Localize the admin ajax URL. This doesn't sound like the best idea but WP is into it (https://codex.wordpress.org/AJAX_in_Plugins) wp_localize_script( "force-refresh-js", "force_refresh_js_object", array( // Get the ajax URL 'ajax_url' => admin_url( 'admin-ajax.php' ), // Get the post ID 'post_id' => get_the_ID(), // Get the refresh interval 'refresh_interval' => get_option( WP_FORCE_REFRESH_OPTION_REFRESH_INTERVAL_IN_SECONDS, WP_FORCE_REFRESH_OPTION_REFRESH_INTERVAL_IN_SECONDS_DEFAULT ) ) ); // Now that it's registered, enqueue the script wp_enqueue_script("force-refresh-js"); }); // Add meta boxes for specific pages that we want to refresh add_action('add_meta_boxes', function(){ // All post types $all_post_types = get_post_types(); // Loop through all the post types foreach ($all_post_types as $post_type => $post_key) { // Get the post type attributes $post_type_attributes = get_post_type_object( $post_type ); // The post types public attribute $post_type_is_public = $post_type_attributes->public; // Only add the box if the post type is public and we're not excluding // the post type if ( $post_type_is_public && !in_array($post_type, WP_FORCE_REFRESH_EXCLUDE_FROM_POST_TYPES )){ // Add the box add_meta_box( 'force_refresh_specific_page_refresh', 'Force Refresh', __NAMESPACE__ . '\\force_refresh_specific_page_refresh_html', $post_type, 'side' ); } } }); ?>