Filter
uncanny-automator
automator_post_type_closure_args
Filters the arguments used to retrieve post types, allowing modification before they are fetched.
add_filter( 'automator_post_type_closure_args', $callback, 10, 1 );
Description
Filters arguments used when registering the 'uo-closure' post type. Developers can modify capabilities, labels, and other registration settings before the post type is created. This hook fires during plugin initialization.
Usage
add_filter( 'automator_post_type_closure_args', 'your_function_name', 10, 1 );
Return Value
The filtered value.
Examples
<?php
/**
* Modify the capabilities for the 'automator_post_type_closure' post type.
*
* In this example, we're removing the 'delete_post' capability for users
* who are not administrators, to prevent accidental deletion of automation closures.
*
* @param array $args The post type arguments.
* @return array The modified post type arguments.
*/
add_filter( 'automator_post_type_closure_args', function( $args ) {
// Check if the current user can manage options (typically administrators)
if ( ! current_user_can( 'manage_options' ) ) {
// If not an administrator, remove the 'delete_post' capability
if ( isset( $args['capabilities']['delete_post'] ) ) {
unset( $args['capabilities']['delete_post'] );
}
}
return $args;
}, 10, 1 );
?>
Placement
This code should be placed in the functions.php file of your active theme, a custom plugin, or using a code snippets plugin.
Source Code
src/core/automator-post-types/uo-closure/class-closures-post-type.php:86
public function uo_automator_closures() {
$labels = array(
'name' => 'Automator Closures',
'singular_name' => 'Automator Closure',
'menu_name' => 'Closures',
'name_admin_bar' => 'Post Type',
'archives' => 'Item Archives',
'attributes' => 'Item Attributes',
'parent_item_colon' => 'Parent Item:',
'all_items' => 'All Items',
'add_new_item' => 'Add New Item',
'add_new' => 'Add New',
'new_item' => 'New Item',
'edit_item' => 'Edit Item',
'update_item' => 'Update Item',
'view_item' => 'View Item',
'view_items' => 'View Items',
'search_items' => 'Search Item',
'not_found' => 'Not found',
'not_found_in_trash' => 'Not found in Trash',
'featured_image' => 'Featured Image',
'set_featured_image' => 'Set featured image',
'remove_featured_image' => 'Remove featured image',
'use_featured_image' => 'Use as featured image',
'insert_into_item' => 'Insert into item',
'uploaded_to_this_item' => 'Uploaded to this item',
'items_list' => 'Items list',
'items_list_navigation' => 'Items list navigation',
'filter_items_list' => 'Filter items list',
);
$args = array(
'label' => 'Automator Closure',
'description' => 'Closure for an Uncanny WordPress Automation',
'labels' => $labels,
'supports' => array( 'title' ),
'hierarchical' => false,
'public' => false,
'show_ui' => false,
'show_in_menu' => false,
'menu_position' => 5,
'show_in_admin_bar' => false,
'show_in_nav_menus' => false,
'can_export' => false,
'has_archive' => false,
'exclude_from_search' => true,
'publicly_queryable' => false,
'capabilities' => array(
'publish_posts' => automator_get_capability(),
'edit_posts' => automator_get_capability(),
'edit_others_posts' => automator_get_capability(),
'delete_posts' => automator_get_capability(),
'delete_others_posts' => automator_get_capability(),
'read_private_posts' => automator_get_capability(),
'edit_post' => automator_get_capability(),
'delete_post' => automator_get_capability(),
),
);
register_post_type( AUTOMATOR_POST_TYPE_CLOSURE, apply_filters( 'automator_post_type_closure_args', $args ) );
}