Skip to content

Instantly share code, notes, and snippets.

@wpmudev-sls
Created April 25, 2018 12:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wpmudev-sls/9455d03c4963a2d836297e11ad6b1cc0 to your computer and use it in GitHub Desktop.
Save wpmudev-sls/9455d03c4963a2d836297e11ad6b1cc0 to your computer and use it in GitHub Desktop.
Revslider metabox in page
<?php
/**
* Plugin Name: Revslider metabox for page
* Plugin URI: https://premium.wpmudev.org/
* Description: Revslider metabox for page
* Author: Ariful Islam @ WPMUDEV
* Author URI: https://premium.wpmudev.org/profile/itsarifulislam
* License: GPLv2 or later
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'RevSliderMetaboxForPage' ) ) {
class RevSliderMetaboxForPage {
private static $_instance = null;
public static function get_instance() {
if ( is_null( self::$_instance ) ) {
self::$_instance = new RevSliderMetaboxForPage();
}
return self::$_instance;
}
private function __construct() {
if ( !class_exists('RevSlider') ) return;
add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 10 );
add_action( 'save_post', array( $this, 'save_meta_boxes' ), 10, 1 );
}
public function add_meta_boxes() {
add_meta_box( 'featured_rev_slider', __( 'Featured Revolution Slider', 'textdomain' ), array( $this, 'render_featured_revslider_metabox_content' ), 'page', 'side' );
}
public function save_meta_boxes( $post_id ) {
if (
! isset( $_POST['featured_rev_slider'] ) ||
! isset( $_POST['featured_revslider_meta_box_nonce'] ) ||
! wp_verify_nonce( $_POST['featured_revslider_meta_box_nonce'], 'featured_revslider_meta_box' ) ||
! current_user_can( 'edit_post', $post_id )
)
return;
update_post_meta( $post_id, 'featured_rev_slider', sanitize_text_field($_POST['featured_rev_slider']) );
}
public function render_featured_revslider_metabox_content() {
global $post;
$slider = new RevSlider();
$revolution_sliders = $slider->getArrSliders();
$meta = get_post_meta($post->ID, 'featured_rev_slider', true);
wp_nonce_field( 'featured_revslider_meta_box', 'featured_revslider_meta_box_nonce' );
echo '<select name="featured_rev_slider" id="featured_rev_slider">';
echo "<option value=''>--- Revolution Sliders ---</option>";
foreach ( $revolution_sliders as $revolution_slider ) {
$checked="";
$alias = $revolution_slider->getAlias();
$title = $revolution_slider->getTitle();
if ( $alias==$meta ) $checked = "selected";
echo "<option value='".$alias."' $checked>".$title."</option>";
}
echo '</select>';
}
}
function Render_revslider_metabox_for_page(){
$GLOBALS['RevSliderMetaboxForPage'] = RevSliderMetaboxForPage::get_instance();
}
}
add_action( 'init', 'Render_revslider_metabox_for_page' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment