Guest User

Untitled

a guest
May 17th, 2012
358
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*******************************************
  2. * admin-page.php
  3. *******************************************/
  4.  
  5. function test_settings_menu() {
  6.  
  7.     global $my_test_page;
  8.  
  9.     // add settings page
  10.     add_menu_page( __( 'My Options Page', 'test' ), __( 'My Options Page', 'test' ), 'manage_options', 'test-page', 'test_my_page';
  11.     $my_test_page = add_submenu_page( 'test-page', __( 'ASDF', 'test' ), __( 'ASDF', 'test' ), 'manage_options', 'test-page', 'test_my_page' );
  12.    
  13.     add_action("load-$test_my_page", "test_screen_options");
  14. }
  15. add_action('admin_menu', 'test_settings_menu');
  16.  
  17.  
  18. /*******************************************
  19. * list-page.php
  20. *******************************************/
  21.  
  22. function test_my_page()
  23. {
  24.     global $test_options, $wpdb;
  25.     $current_page = get_bloginfo('wpurl') . '/wp-admin/admin.php?page=test-page';
  26.     ?>
  27.     <div class="wrap">
  28.        
  29.        
  30.             <h2><?php _e('Main Page', 'test'); ?></h2>
  31.             <?php
  32.                        
  33.             // pagination variables
  34.             if (isset($_GET['p'])) $page = $_GET['p']; else $page = 1;
  35.            
  36.             $user = get_current_user_id();
  37.            
  38.             $screen = get_current_screen();
  39.            
  40.             $screen_option = $screen->get_option('per_page', 'option');
  41.            
  42.             $per_page = get_user_meta($user, $screen_option, true);
  43.            
  44.             if ( empty ( $per_page) || $per_page < 1 ) {
  45.                 $per_page = $screen->get_option( 'per_page', 'default' );
  46.             }
  47.            
  48.             $total_pages = 1;
  49.            
  50.             $offset = $per_page * ($page-1);
  51.            
  52.             $total_pages = ceil($current_count/$per_page);
  53.  
  54.             ?>
  55.            
  56.             <p>Content will eventually go here.</p>
  57.        
  58.        
  59.     </div><!--end wrap-->
  60.        
  61.     <?php
  62. }
  63.  
  64.  
  65. /*******************************************
  66. * Screen-options.php
  67. *******************************************/
  68.  
  69. function test_screen_options() {
  70.  
  71.     global $my_test_page;
  72.    
  73.     $screen = get_current_screen();
  74.    
  75.     if(!is_object($screen))
  76.         return;
  77.     switch($screen->id) :
  78.         case $my_test_page :
  79.             $args = array(
  80.                 'label' => __('Items per page', 'mus'),
  81.                 'default' => 10,
  82.                 'option' => 'test_items_per_page'
  83.             );
  84.             add_screen_option( 'per_page', $args );
  85.             break
  86.     endswitch;
  87. }
  88.  
  89. function test_set_screen_option($status, $option, $value) {
  90.     if ( 'test_items_per_page' == $option ) return $value;
  91. }
  92. add_filter('set-screen-option', 'test_set_screen_option', 10, 3);
RAW Paste Data