3

I'm working with Elementor, I want to hide/disable the WordPress Editor option to edit any page/post instead I want to show only the Edit with Elementor option i.e I want to make Elementor my Default Editor. In Image, You can see that there is an option "back to WordPress Editor" I want to show here only "Edit With Elementor" so that When I have selected a category and other stuff then I can edit it with Elementor. How Can I do this?

enter image description here

1 Answer 1

1

Someone made a plugin for that here : Make Elementor your default editor

However, if you need more control over the code, this is how it was made :

<?php

/**
 * Make Elementor the default editor, not the WordPress Editor (Gutenberg or Classic)
 * Clicking the page title will take you to the Elementor editor directly
 * Even non-Elementor-edited pages will become Elementor-edited pages now
 * You can revert by clicking the "Back to WordPress Editor" button
 *
 * Author:  Joe Fletcher, https://fletcherdigital.com
 * URL:     https://gist.github.com/heyfletch/7c59d1c0c9c56cbad51ef80290d86df7
 * Credit:  mjakic https://wordpress.stackexchange.com/questions/178416/how-to-change-the-title-url-on-the-edit-post-screen
 * Credit:  Aurovrata Venet https://developer.wordpress.org/reference/hooks/post_row_actions/
*/

/** Replace hyperlink in post titles on Page, Post, or Template lists with Elementor's editor link */
add_filter('get_edit_post_link', 'fd_make_elementor_default_edit_link', 10, 3 );
function fd_make_elementor_default_edit_link($link, $post_id, $context) {

    // Get current screen parameters
    $screen = get_current_screen();

    //check if $screen is object otherwise we may be on an admin page where get_current_screen isn't defined
    if( !is_object($screen) )
        return;

    // Post Types to Edit with Elementor
    $post_types_for_elementor = array(
        'page',
        'post',
        'elementor_library',
    );

    // When we are on a specified post type screen
    if ( in_array( $screen->post_type, $post_types_for_elementor ) && $context == 'display' ) {

        // Build the Elementor editor link
        $elementor_editor_link = admin_url( 'post.php?post=' . $post_id . '&action=elementor' );

        return $elementor_editor_link;
    } else {
        return $link;
    }
}

/** Add back the default Edit link action in Page and Post list rows */
add_filter( 'page_row_actions', 'fd_add_back_default_edit_link', 10, 2 );
add_filter( 'post_row_actions', 'fd_add_back_default_edit_link', 10, 2 );
function fd_add_back_default_edit_link( $actions, $post ) {

    // Build the Elementor edit URL
    $elementor_edit_url = admin_url( 'post.php?post=' . $post->ID . '&action=edit' );

    // Rewrite the normal Edit link
    $actions['edit'] =
        sprintf( '<a href="%1$s">%2$s</a>',
            esc_url( $elementor_edit_url ),
            esc_html( __( 'Default WordPress Editor', 'elementor' ) )
        );

   return $actions;
}


/** (optional) Remove redundant "Edit with Elementor" link added by Elementor itself */
add_filter( 'page_row_actions', 'fd_remove_default_edit_with_elementor', 99, 2 );
add_filter( 'post_row_actions', 'fd_remove_default_edit_with_elementor', 99, 2 );
function fd_remove_default_edit_with_elementor( $actions, $post ) {

  // Rewrite the normal Edit link
  unset( $actions['edit_with_elementor'] );

  return $actions;
}

/** Alternative:  Rewrite just the Edit link, and leave the page title as original */
/** Rewrite the normal Edit link on lists of Pages and replace it with Elementor's edit link */
// add_filter( 'page_row_actions', 'fd_elementor_modify_list_row_actions', 10, 2 );
// add_filter( 'post_row_actions', 'fd_elementor_modify_list_row_actions', 10, 2 );
// function fd_elementor_modify_list_row_actions( $actions, $post ) {

//      // Build the Elementor edit URL
//      $elementor_edit_url = admin_url( 'post.php?post=' . $post->ID . '&action=elementor' );

//      // Rewrite the normal Edit link
//      $actions['edit'] =
//        sprintf( '<a href="%1$s">%2$s</a>',
//         esc_url( $elementor_edit_url ),
//         esc_html( __( 'Elementor Editor', 'elementor' ) )
//          );

//     return $actions;
// }
Sign up to request clarification or add additional context in comments.

1 Comment

I tried this, but this didn't work on the screen (shared a screen shot)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.