WordPress.org

Make WordPress Core

Ticket #17968: tax-test.php

File tax-test.php, 2.5 KB (added by wpmuguru, 4 years ago)

plugin for testing

Line 
1<?php
2/*
3Plugin Name: test post type
4Plugin URI: http://wordpress.org
5Description: test for taxnomy menu bug
6Author: Ron Rennick
7Version: 0.1
8Author URI: http://wordpress.org/
9
10*/
11
12class RA_Test_Post_Type {
13        var $post_type_name = 'ron_test';
14        var $post_type = array(
15                        'public' => true,
16                        'rewrite' => array( 'slug' => 'test' ),
17                        'hierarchical' => false,
18                        'show_in_nav_menus' => false,
19                        'supports' => array( 'title', 'editor', 'author', 'revisions' )
20                );
21
22        function RA_Test_Post_Type() {
23                return $this->__construct();
24        }
25
26        function  __construct() {
27                add_action( 'init', array( &$this, 'init' ) );
28        }
29
30        function init() {
31                $this->post_type['labels'] = array( 'name' => __( 'Tests' ),
32                                'name' => __( 'Tests' ),
33                                'singular_name' => __( 'Test' ),
34                                'add_new' => __( 'Add New' ),
35                                'add_new_item' => __( 'Add New Test' ),
36                                'edit' => __( 'Edit' ),
37                                'edit_item' => __( 'Edit Test' ),
38                                'new_item' => __( 'New Test' ),
39                                'view' => __( 'View Test' ),
40                                'view_item' => __( 'View Test' ),
41                                'search_items' => __( 'Search Tests' ),
42                                'not_found' => __( 'No Tests found' ),
43                                'not_found_in_trash' => __( 'No Tests found in Trash' ),
44                                'parent' => __( 'Parent Test' )
45                        );
46                register_post_type( $this->post_type_name, $this->post_type );
47        }
48        function rewrite_flush() {
49                if( !post_type_exists( 'ron_test' ) )
50                        $this->init();
51                       
52                flush_rewrite_rules();
53        }
54}
55
56$ra_test_post = new RA_Test_Post_Type();
57
58register_activation_hook( __FILE__, array( $ra_test_post, 'rewrite_flush' ) );
59
60class test_taxonomies {
61        function init() {
62                global $wp_taxonomies;
63               
64                if( !post_type_exists( 'ron_test' ) )
65                        return;
66                       
67                $taxes = array(
68                        'audience' => array(
69                                'name' => _x( 'Audience', 'taxonomy general name' ),
70                                'singular_name' => _x( 'Audience', 'taxonomy singular name' ),
71                                'search_items' =>  __( 'Search Audiences' ),
72                                'all_items' => __( 'All Audiences' ),
73                                'parent_item' => __( 'Parent Audience' ),
74                                'parent_item_colon' => __( 'Parent Audience:' ),
75                                'edit_item' => __( 'Edit Audience' ),
76                                'update_item' => __( 'Update Audience' ),
77                                'add_new_item' => __( 'Add New Audience' ),
78                                'new_item_name' => __( 'New Audience Name' )
79                        ),
80                );     
81       
82                foreach( $taxes as $tax => $labels ) { 
83                        register_taxonomy( $tax, array( 'ron_test' ), array(
84                                'hierarchical' => true,
85                                'labels' => $labels,
86                                'show_ui' => true,
87                                'query_var' => true,
88                                'rewrite' => array( 'slug' => $tax )
89                        ));
90                }
91        } 
92
93}
94add_action( 'init', array( 'test_taxonomies', 'init' ), 20 );
95