Skip to content

Web Development tips

vivek kushwaha edited this page Aug 7, 2022 · 2 revisions

Web Development tips and tricks

Wordpress

  1. How to remove unnecessary menu items from word press admin panel
  2. /**
     * ==========================================================
     * This function removes unnecessary things from
     * admitrators menu
     */
    function vk_remove_admin_menu() {
        remove_menu_page('themes.php');
        remove_menu_page('plugins.php');
        remove_menu_page('options-general.php');
        remove_menu_page('tools.php');
        remove_menu_page('edit.php?post_type=page');
        remove_menu_page('edit-comments.php');
        remove_menu_page('edit.php');
        remove_menu_page('users.php');
        remove_submenu_page('edit.php', 'post-new.php');
        remove_submenu_page('edit.php?post_type=contactrequest', 'post-new.php?post_type=contactrequest');
        remove_submenu_page('edit.php', 'edit.php');
        remove_submenu_page('index.php', 'update-core.php');
    }
    add_action('admin_menu', 'vk_remove_admin_menu');
  3. How to remove menu commands in word press admin bar
  4. /**
     * Hook all code related to add and remove admin bar
     * @global type $wp_admin_bar : represents admin bar
     */
    function vk_remove_admin_bar() {
        global $wp_admin_bar;
        $wp_admin_bar->remove_node('wp-logo');
        $wp_admin_bar->remove_node('updates');
        $wp_admin_bar->remove_node('new-page');
        $wp_admin_bar->remove_node('new-user');
        $wp_admin_bar->remove_node('new-post');
        $wp_admin_bar->remove_node('comments');
    }
    add_action('admin_bar_menu', 'vk_remove_admin_bar', 999);
  5. Add custom post type in word press
  6. function vk_feedback_post() {
        $lables = array('name' => 'Contact requests',
            'singular_name' => 'Contact request',
            'add_new' => 'Add new request',
            'all_items' => 'All requests',
            'add_new_item' => 'Add new request',
            'edit_item' => 'Edit this',
            'new_item' => 'New request',
            'view_item' => 'View',
            'search_item' => 'Search',
            'not_found' => 'No requests found'
            , 'not_found_in_trash' => 'Not found im recyvle bean',
            'parent_item_colon', 'Parent item');
    
        $args = array(
            'labels' => $lables,
            'public' => true,
            'has_archive' => false,
            'publicly_queryable' => false,
            'query_var' => false,
            'rewrite' => true,
            'capability_type' => 'post',
            'hierarchical' => false,
            'support' => array('excerpt'),
            'menu_position' => 1,
            'exclude_from_search' => true
        );
        register_post_type('contact_request', $args);
    }
    
    add_action('init', 'vk_feedback_post');
  7. Manage display of added post in admin panel (i.e. add or remove columns)
  8. A. Add Columns
    /**
     * ==================================================================
     * Add columns for contact request form
     * @param type $columns
     * @return string
     */
    function vk_add_contact_col($columns) {
        $columns['email'] = 'Email';
        $columns['phone'] = 'Phone';
        $columns['message'] = 'Comments';
        return $columns;
    }
    
    add_filter('manage_edit-contact_request_columns', 'vk_add_contact_col');
    B. Manage from where data will come
    /**
     * =================================================================
     * Retrive all data from contact request post type
     * 
     * @param type $column
     * @param type $post_id
     */
    function vk_manage_contact_columns($column, $post_id) {
        switch ($column) {
            case 'email':
                echo get_post_meta($post_id, 'email', true);
                break;
            case 'phone':
                echo get_post_meta($post_id, 'phone', true);
                break;
            case 'message':
                echo get_post_meta($post_id, 'message', true);
                break;
        }
    }
    
    add_action('manage_contact_request_posts_custom_column', 'vk_manage_contact_columns', 10, 2);
  9. Add text to footer
  10. function vk_footer_left() {
        echo 'StudioSixteen - Admin ';
    }
    add_filter('admin_footer_text', 'vk_footer_left');
    6. Remove wordpress version info from admin panel
    remove_filter('update_footer', 'core_update_footer', 5);
    7. Remove update information [notification] from admin panel
    function remove_core_updates() {
        if (!current_user_can('update_core')) {
            return;
        }
        add_action('init', create_function('$a', "remove_action( 'init', 'wp_version_check' );"), 2);
        add_filter('pre_option_update_core', '__return_null');
        add_filter('pre_site_transient_update_core', '__return_null');
    }
    add_action('after_setup_theme', 'remove_core_updates');
  11. . Session management (starting session in php)
  12. /**
     * Session management
     */
    function reg_session(){
      if (!session_id()){
        session_start();
      }
      
    }
    add_action('init',  'reg_session');

Clone this wiki locally