# adminify/2.0.0/Inc/Admin/Options/Module_Duplicate_Post.php

Adminify – White Label, Admin Menu Editor, Login Customizer, version 2.0.0. 112 lines.

- Page: https://pluginprobe.com/plugins/adminify/2.0.0/code/Inc/Admin/Options/Module_Duplicate_Post.php
- Raw: https://pluginprobe.com/plugins/adminify/2.0.0/raw/Inc/Admin/Options/Module_Duplicate_Post.php
- Modified: 2022-01-24T14:44:22+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/adminify/2.0.0/code/Inc/Admin/Options/Module_Duplicate_Post.php#L10-L20`.

```php
<?php

namespace WPAdminify\Inc\Admin\Options;

use  WPAdminify\Inc\Utils ;
use  WPAdminify\Inc\Admin\AdminSettingsModel ;
if ( !defined( 'ABSPATH' ) ) {
    die;
}
// Cannot access directly.
if ( !class_exists( 'Module_Duplicate_Post' ) ) {
    class Module_Duplicate_Post extends AdminSettingsModel
    {
        public function __construct()
        {
            $this->adminify_duplicate_post_settings();
        }
        
        public function get_defaults()
        {
            return [
                'adminify_clone_post_user_roles' => [],
                'adminify_clone_post_posts'      => [ 'page' ],
                'adminify_clone_post_taxonomies' => [],
            ];
        }
        
        public function adminify_duplicate_post_user_roles( &$fields )
        {
            $fields[] = array(
                'type'    => 'subheading',
                'content' => Utils::adminfiy_help_urls(
                __( 'Duplicate Post/Page/Custom Post Types Settings', WP_ADMINIFY_TD ),
                'https://wpadminify.com/kb/duplicate-post-using-wp-adminify/',
                'https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8',
                'https://www.facebook.com/groups/jeweltheme',
                'https://wpadminify.com/support/post-page-custom-post-type-duplicator/'
            ),
            );
            $fields[] = array(
                'id'          => 'adminify_clone_post_user_roles',
                'type'        => 'select',
                'title'       => __( 'Disable for', WP_ADMINIFY_TD ),
                'placeholder' => __( 'Select User roles you want to show', WP_ADMINIFY_TD ),
                'options'     => 'roles',
                'multiple'    => true,
                'chosen'      => true,
                'default'     => $this->get_default_field( 'adminify_clone_post_user_roles' ),
            );
            $fields[] = array(
                'id'         => 'adminify_clone_post_posts',
                'type'       => 'checkbox',
                'title'      => __( 'Enable for Post Types', WP_ADMINIFY_TD ),
                'subtitle'   => __( 'Select Post Types for Enabling Duplicate feature', WP_ADMINIFY_TD ),
                'options'    => 'post_types',
                'query_args' => array(
                'orderby' => 'post_title',
                'order'   => 'ASC',
            ),
                'default'    => $this->get_default_field( 'adminify_clone_post_posts' ),
            );
            $fields[] = array(
                'type'       => 'notice',
                'style'      => 'warning',
                'content'    => Utils::adminify_upgrade_pro(),
                'dependency' => array( array(
                'adminify_clone_post_posts',
                'not-any',
                'post,page',
                'true'
            ), array(
                'adminify_clone_post_posts',
                '!=',
                '',
                'true'
            ) ),
            );
        }
        
        public function adminify_duplicate_post_taxonomy( &$fields )
        {
            $fields[] = array(
                'type'    => 'notice',
                'style'   => 'warning',
                'title'   => __( 'Enable for Taxonomies', WP_ADMINIFY_TD ),
                'content' => Utils::adminify_upgrade_pro(),
            );
        }
        
        /**
         * Adminify Duplicate Post Settings
         */
        public function adminify_duplicate_post_settings()
        {
            if ( !class_exists( 'ADMINIFY' ) ) {
                return;
            }
            $fields = [];
            $this->adminify_duplicate_post_user_roles( $fields );
            // $this->adminify_duplicate_post_taxonomy($fields);
            // Duplicate Post Setttings
            \ADMINIFY::createSection( $this->prefix, array(
                'title'  => __( 'Duplicate Post', WP_ADMINIFY_TD ),
                'id'     => 'duplicate_post_section',
                'parent' => 'module_settings',
                'icon'   => 'far fa-copy',
                'fields' => $fields,
            ) );
        }
    
    }
}
```
