Making WordPress.org


Ignore:
Timestamp:
06/17/2014 12:00:42 AM (10 years ago)
Author:
coffee2code
Message:

Handbook plugin: misc fixes and tweaks. Fixes #250

  • Fix to set object post_type variable when post_type is 'handbook'
  • Fix to use get_post_type() instead of referencing no-long-existing object variable
  • Don't append suffix for 'page' post_type (for ToC and widgets)
  • Honor before_widget and after_widget config for widget
  • More succinct and thorough array typecasting
  • Internationalize strings
  • Minor spacing and code formatting tweaks
File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/handbook/handbook.php

    r705 r706  
    2020    static function init() {
    2121
    22         $post_types = 'handbook';
    23 
    24         $post_types = apply_filters( 'handbook_post_types', $post_types );
    25 
    26         if ( ! is_array( $post_types ) ) {
    27             $post_types = (array) $post_types;
    28         }
     22        $post_types = (array) apply_filters( 'handbook_post_types', array( 'handbook' ) );
    2923
    3024        new WPorg_Handbook_TOC( $post_types );
     
    3226        foreach ( $post_types as $type ) {
    3327            new WPorg_Handbook( $type );
    34 
    3528        }
    3629    }
     30
    3731}
     32
    3833add_action( 'after_setup_theme', array( 'WPorg_Handbook_Init', 'init' ) );
    3934
     
    6156
    6257    function __construct( $type ) {
    63         if ( 'handbook' != $type )
     58        if ( 'handbook' != $type ) {
    6459            $this->post_type = $type . '-handbook';
     60        } else {
     61            $this->post_type = $type;
     62        }
    6563
    6664        $this->label = ucwords( str_replace( array( '-', '_' ), ' ', $this->post_type ) );
    67         add_filter( 'user_has_cap', array( $this, 'grant_handbook_caps' ) );
    68         add_filter( 'init', array( $this, 'register_post_type' ) );
    69         add_action( 'admin_page_access_denied', array( $this, 'admin_page_access_denied' ) );
    70         add_filter( 'post_type_link', array( $this, 'post_type_link' ), 10, 2 );
    71         add_filter( 'pre_get_posts', array( $this, 'pre_get_posts' ) );
    72         add_action( 'widgets_init', array( $this, 'handbook_sidebar' ), 11 ); // After P2
     65
     66        add_filter( 'user_has_cap',                       array( $this, 'grant_handbook_caps' ) );
     67        add_filter( 'init',                               array( $this, 'register_post_type' ) );
     68        add_action( 'admin_page_access_denied',           array( $this, 'admin_page_access_denied' ) );
     69        add_filter( 'post_type_link',                     array( $this, 'post_type_link' ), 10, 2 );
     70        add_filter( 'pre_get_posts',                      array( $this, 'pre_get_posts' ) );
     71        add_action( 'widgets_init',                       array( $this, 'handbook_sidebar' ), 11 ); // After P2
    7372        add_action( 'wporg_email_changes_for_post_types', array( $this, 'wporg_email_changes_for_post_types' ) );
    7473    }
    7574
    7675    function grant_handbook_caps( $caps ) {
    77         if ( ! is_user_member_of_blog() )
     76        if ( ! is_user_member_of_blog() ) {
    7877            return $caps;
     78        }
     79
    7980        foreach ( self::caps() as $cap ) {
    8081            $caps[ $cap ] = true;
    8182        }
     83
    8284        if ( ! empty( $caps['edit_pages'] ) ) {
    8385            foreach ( self::editor_caps() as $cap ) {
     
    8587            }
    8688        }
     89
    8790        return $caps;
    8891    }
     
    9497            $slug = 'handbook';
    9598        }
     99
    96100        register_post_type( $this->post_type, array(
    97101            'labels' => array(
    98                 'name' => "{$this->label} Pages",
    99                 'singular_name' => "{$this->label} Page",
    100                 'menu_name' => "{$this->label}",
    101                 'all_items' => "{$this->label} Pages",
     102                'name'          => sprintf( __( '%s Pages', 'wporg' ), $this->label ),
     103                'singular_name' => sprintf( __( '%s Page', 'wporg' ), $this->label ),
     104                'menu_name'     => $this->label,
     105                'all_items'     => sprintf( __( '%s Pages', 'wporg' ), $this->label ),
    102106            ),
    103             'public' => true,
    104             'show_ui' => true,
    105             'capability_type' => 'handbook_page',
    106             'map_meta_cap' => true,
    107             'has_archive' => true,
    108             'hierarchical' => true,
    109             'menu_position' => 11,
    110             'rewrite'     => array(
    111                 'feeds'      => false,
    112                 'slug'       => $slug,
    113                 'with_front' => false,
     107            'public'            => true,
     108            'show_ui'           => true,
     109            'capability_type'   => 'handbook_page',
     110            'map_meta_cap'      => true,
     111            'has_archive'       => true,
     112            'hierarchical'      => true,
     113            'menu_position'     => 11,
     114            'rewrite' => array(
     115                'feeds'         => false,
     116                'slug'          => $slug,
     117                'with_front'    => false,
    114118            ),
    115             'delete_with_user' => false,
    116             'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes', 'custom-fields', 'comments', 'revisions' ),
     119            'delete_with_user'  => false,
     120            'supports'          => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes', 'custom-fields', 'comments', 'revisions' ),
    117121        ) );
    118122    }
     
    126130
    127131    function post_type_link( $link, $post ) {
    128         if ( $post->post_type === $this->post_type && $post->post_name === $this->post_type )
     132        if ( $post->post_type === $this->post_type && $post->post_name === $this->post_type ) {
    129133            return get_post_type_archive_link( $this->post_type );
     134        }
     135
    130136        return $link;
    131137    }
     
    138144
    139145    function handbook_sidebar() {
    140         register_sidebar( array( 'id' => $this->post_type, 'name' => $this->label, 'description' => "Used on {$this->label} pages" ) );
     146        register_sidebar( array(
     147            'id'          => $this->post_type,
     148            'name'        => $this->label,
     149            'description' => sprintf( __( 'Used on %s pages', 'wporg' ), $this->label ),
     150        ) );
    141151        require_once dirname( __FILE__ ) . '/inc/widgets.php';
    142152        register_widget( 'WPorg_Handbook_Pages_Widget' );
     
    144154
    145155    function wporg_email_changes_for_post_types( $post_types ) {
    146         if ( ! in_array( $this->post_type, $post_types ) )
     156        if ( ! in_array( $this->post_type, $post_types ) ) {
    147157            $post_types[] = $this->post_type;
     158        }
     159
    148160        return $post_types;
    149161    }
Note: See TracChangeset for help on using the changeset viewer.