Activate / Deactivate plugin
I'm working on my first plugin and am trying to use register_activation_hook()
and register_deactivation_hook()
... I know I'm not doing this right:
/*====================================================*/
// 1.0 Actions to perform upon plugin activation
/*====================================================*/
register_activation_hook( __FILE__, 'construct_uploader_page' );
register_activation_hook( __FILE__, 'construct_terms_page' );
register_activation_hook( __FILE__, 'create_custom_user_role' );
// Construct Event Photo Uploader template page
function construct_uploader_page() {
$post_id = -1;
// Setup custom vars
$author_id = 1;
$slug = 'event-photo-uploader';
$title = 'Event Photo Uploader';
// Check if page exists... if not, create it
if ( null == get_page_by_title( $title )) {
$uploader_page = array(
'comment_status' = 'closed',
'ping_status' = 'closed',
'post_author' = $author_id,
'post_name' = $slug,
'post_title' = $title,
'post_status' = 'publish',
'post_type' = 'page'
);
$post_id = wp_insert_post( $uploader_page );
if ( !$post_id ) {
wp_die( 'Error creating template page' );
} else {
update_post_meta( $post_id, '_wp_page_template', 'custom-uploadr.php' );
}
}
} // end construct uploader page
// Add Event Photo Uploader page
add_action( 'template_include', 'uploadr_redirect' );
// Callback to add menu items
function uploadr_redirect( $template ) {
$plugindir = dirname( __FILE__ );
// A Specific Custom Post Type
if ( is_page_template( 'custom-uploadr.php' )) {
$template = $plugindir . '/templates/custom-uploadr.php';
}
return $template;
}
// Construct Terms and Usage template page
function construct_terms_page() {
$post_id = -1;
// Setup variables
$author_id = 1;
$slug = 'terms-and-usage';
$title = 'Terms and Usage';
// Check if page exists... if not, create it
if ( null == get_page_by_title( $title )) {
$uploader_page = array(
'comment_status' = 'closed',
'ping_status' = 'closed',
'post_author' = $author_id,
'post_name' = $slug,
'post_title' = $title,
'post_status' = 'publish',
'post_type' = 'page'
);
$post_id = wp_insert_post( $uploader_page );
if ( !$post_id ) {
wp_die( 'Error creating template page' );
} else {
update_post_meta( $post_id, '_wp_page_template', 'terms-and-use.php' );
}
}
} // end construct terms page
// Add Terms and Usage page
add_action( 'template_include', 'terms_redirect' );
// Callback to add menu items
function terms_redirect( $template ) {
$plugindir = dirname( __FILE__ );
// A Specific Custom Post Type
if ( is_page( 'Terms and Usage' )) {
$template = $plugindir . '/templates/terms-and-use.php';
}
return $template;
}
// Create custom user-role for registration
function create_custom_user_role() {
$custom_role = get_role('subscriber');
$standard_user = add_role( 'register', 'Register User', $custom_role-capabilities );
}
// End Activation function
I need to add these three things when the plugin is activated ( two pages and a custom role ) and then deactivate them when the plugin is, well, deactivated ... I need help; from everything I've seen there is only supposed to be one activation_hook()
and one deactivation_hook()
, but I have more than one function I need activated/deactivated.
Thanks for any help!
Topic deactivated-plugin activation plugin-development Wordpress
Category Web