芝麻web文件管理V1.00
编辑当前文件:/home/disqkgca/aqanet.org/wp-content/plugins/carousel-slider/includes/Admin/Admin.php
' . __( 'Settings', 'carousel-slider' ) . '', ]; return array_merge( $plugin_links, $links ); } /** * Filters the array of row meta for the plugin in the Plugins list table. * * @param string[] $plugin_meta An array of the plugin's metadata, including * the version, author, author URI, and plugin URI. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * * @return array */ public function plugin_row_meta( $plugin_meta, $plugin_file ) { if ( plugin_basename( CAROUSEL_SLIDER_FILE ) === $plugin_file ) { $plugin_meta[] = '
' . __( 'Community support', 'carousel-slider' ) . '
'; } return $plugin_meta; } /** * Modify preview post link for carousel slider * * @param string $preview_link The preview link. * @param WP_Post $post The WP_Post object. * * @return string */ public function preview_post_link( string $preview_link, WP_Post $post ): string { if ( self::POST_TYPE === $post->post_type ) { $preview_link = Helper::get_preview_link( $post ); } return $preview_link; } /** * Customize Carousel slider list table head * * @return array A list of column headers. */ public function columns_head(): array { return [ 'cb' => '
', 'title' => __( 'Carousel Slide Title', 'carousel-slider' ), 'usage' => __( 'Shortcode', 'carousel-slider' ), 'slide_type' => __( 'Slide Type', 'carousel-slider' ), ]; } /** * Generate carousel slider list table content for each custom column * * @param string $column_name The name of the column to display. * @param int $post_id The current post ID. * * @return void */ public function columns_content( string $column_name, int $post_id ) { $slide_types = Helper::get_slide_types(); switch ( $column_name ) { case 'usage': ?>
Copy shortcode
post_type ) { return $actions; } $view_url = Helper::get_preview_link( $post ); $actions['view'] = '
' . esc_html__( 'Preview', 'carousel-slider' ) . '
'; unset( $actions['inline hide-if-no-js'] ); return $actions; } /** * Load admin scripts * * @param string|mixed $hook Page hook. */ public function admin_scripts( $hook ) { global $post; $_is_carousel = is_a( $post, 'WP_Post' ) && ( CAROUSEL_SLIDER_POST_TYPE === $post->post_type ); $_is_doc = ( 'carousels_page_carousel-slider-documentation' === $hook ); $_is_settings = ( 'carousels_page_settings' === $hook ); $_is_plugin_page = 'plugins.php' === $hook; if ( ! ( $_is_carousel || $_is_doc || $_is_plugin_page || $_is_settings ) ) { // Load add new carousel script and style on every page of admin. wp_enqueue_script( 'carousel-slider-admin-new-carousel' ); wp_enqueue_style( 'carousel-slider-admin-new-carousel' ); return; } wp_enqueue_media(); wp_enqueue_style( 'carousel-slider-admin' ); wp_enqueue_script( 'carousel-slider-admin' ); wp_localize_script( 'carousel-slider-admin', 'CarouselSliderAdminL10n', [ 'url' => esc_html__( 'URL', 'carousel-slider' ), 'title' => esc_html__( 'Title', 'carousel-slider' ), 'caption' => esc_html__( 'Caption', 'carousel-slider' ), 'altText' => esc_html__( 'Alt Text', 'carousel-slider' ), 'linkToUrl' => esc_html__( 'Link To URL', 'carousel-slider' ), 'addNew' => esc_html__( 'Add New Item', 'carousel-slider' ), 'moveCurrent' => esc_html__( 'Move Current Item', 'carousel-slider' ), 'deleteCurrent' => esc_html__( 'Delete Current Item', 'carousel-slider' ), 'videoCarousel' => [ 'YoutubeOrVimeoURL' => esc_html__( 'Youtube or Vimeo URL', 'carousel-slider' ), 'AreYouSureToDelete' => esc_html__( 'Are you sure to delete?', 'carousel-slider' ), ], ] ); } /** * Add documentation menu */ public function documentation_menu() { add_submenu_page( 'edit.php?post_type=carousels', __( 'Documentation', 'carousel-slider' ), __( 'Documentation', 'carousel-slider' ), 'manage_options', 'carousel-slider-documentation', [ $this, 'documentation_page_callback' ] ); } /** * Documentation page callback */ public function documentation_page_callback() { $items = [ [ 'youtube_id' => '_hVsamgr1k4', 'title' => __( 'Hero Image Carousel', 'carousel-slider' ), ], [ 'youtube_id' => 'UOYK79yVrJ4', 'title' => __( 'Image carousel (gallery images)', 'carousel-slider' ), ], [ 'youtube_id' => 'a7hqn1yNzwM', 'title' => __( 'Image carousel (custom URLs)', 'carousel-slider' ), ], [ 'youtube_id' => 'ImJB946azy0', 'title' => __( 'Posts Carousel', 'carousel-slider' ), ], [ 'youtube_id' => 'yiAkvXyfakg', 'title' => __( 'WooCommerce Product Carousel', 'carousel-slider' ), ], [ 'youtube_id' => 'kYgp6wp27lM', 'title' => __( 'In Widget Areas', 'carousel-slider' ), ], [ 'youtube_id' => '-OaYQZfr1RM', 'title' => __( 'With Page Builder by SiteOrigin', 'carousel-slider' ), ], [ 'youtube_id' => '4LhDXH81whk', 'title' => __( 'With Visual Composer Website Builder', 'carousel-slider' ), ], ]; $html = '
'; $html .= '
' . esc_html__( 'Carousel Slider Documentation', 'carousel-slider' ) . '
'; $html .= '
'; $html .= '
'; $html .= '
'; foreach ( $items as $item ) { $html .= '
'; $html .= '
'; $html .= sprintf( '
', $item['youtube_id'] ); $html .= '
'; if ( ! empty( $item['title'] ) ) { $html .= '
' . esc_html( $item['title'] ) . '
'; } if ( ! empty( $item['description'] ) ) { $html .= '
' . esc_html( $item['description'] ) . '
'; } $html .= '
'; } $html .= '
'; $html .= '
'; $html .= '
'; echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Add custom footer text on plugins page. * * @param string|null $text The custom admin footer text. * * @return string|null Admin footer text */ public function admin_footer_text( $text ) { global $post_type, $hook_suffix; $footer_text = sprintf( /* translators: 1: plugin review page link */ __( 'If you like
Carousel Slider
please leave us a %s rating. A huge thanks in advance!', 'carousel-slider' ), '
★★★★★
' ); if ( 'carousels' === $post_type || 'carousels_page_carousel-slider-documentation' === $hook_suffix ) { return $footer_text; } return $text; } }