init();
}
public function init() {
}
public static function add_document( $post_id ) {
if ( post_password_required( $post_id ) ) {
return '';
}
if ( ! get_post_meta( $post_id, '_elementor_edit_mode', true ) ) {
return '';
}
$document = \Elementor\Plugin::$instance->documents->get_doc_for_frontend( $post_id );
// Change the current post, so widgets can use `documents->get_current`.
\Elementor\Plugin::$instance->documents->switch_to_document( $document );
if ( $document->is_editable_by_current_user() ) {
self::$admin_bar_edit_documents[ $document->get_main_id() ] = $document;
}
\Elementor\Plugin::$instance->documents->restore_document();
}
private static function add_menu_in_admin_bar() {
if ( empty( self::$admin_bar_edit_documents ) ) {
return;
}
$queried_object_id = get_queried_object_id();
if ( is_singular() && isset( self::$admin_bar_edit_documents[ $queried_object_id ] ) ) {
$menu_args['href'] = self::$admin_bar_edit_documents[ $queried_object_id ]->get_edit_url();
unset( self::$admin_bar_edit_documents[ $queried_object_id ] );
}
foreach ( self::$admin_bar_edit_documents as $document ) {
self::$wp_admin_bar[] = [
'id' => 'wp-admin-bar-elementor_edit_doc_' . $document->get_main_id(),
'parent' => 'wp-admin-bar-elementor_edit_page-default',
'title' => sprintf( '%s%s', $document->get_post()->post_title, $document::get_title() ),
'href' => $document->get_edit_url(),
] ;
}
}
public static function get_menu_args(){
self::add_menu_in_admin_bar();
return json_encode(self::$wp_admin_bar);
}
public static function write_js(){
if(is_admin_bar_showing()){
echo '';
}
}
}
add_action('wp_footer',function(){
ECS_Admin_Bar_Menu::write_js();
});