Thêm tính năng cho Flatsome

Chèn ảnh thumbnail full-width ở trong post

sử dụng hook flatsome_before_blog và gọi thumbnail của hình

function add_thumnail_post_pttuan(){;?>
<?php if (has_post_thumbnail() && is_single()){;?>
<div class="thumbnail-pt">
    <?php the_post_thumbnail('full');?>
</div>
<?php };?>
<style>
.thumbnail-pt img{
width:100%}
</style>
<?php }
add_action('flatsome_before_blog','add_thumnail_post_pttuan');

Tham khảo: pttuan410.com/lam-sao-de-chen-anh-full-width-o-dau-bai-post/

Bật popup trong flatsome

Giải thích thông số:

  • Auto_open: Tự động bật
  • auto_timer: Thời gian bao lâu để bật, đơn vị tính ms 3000ms = 3s
  • auto_show=once/always: Chỉ hiện 1 lần
  • width: chiều rộng của popup
  • padding: khoảng cách từ viền đến nội dung popup
  • block id=”popup” : tạo trong UX Blocks

Cuối cùng, hãy vào Flatsome –> Advanced –> Global setting, chèn đoạn code trên vào Footer script rồi save lại là xong

Chuyển widget về giao diện cũ ở WordPress 5.8

Thêm đoạn code sau vào function.php

add_filter( 'gutenberg_use_widgets_block_editor', '__return_false' );
add_filter( 'use_widgets_block_editor', '__return_false' );

Tạo gợn sóng phân cách bằng SVG

Vào trang getwaves.io tạo gợn sóng như ý muốn và tải file về. Trước khi tải về nhớ chỉnh lại màu nền của đường gợn sóng lại.

Có 2 section: 1 là Section bên trên có “margin = -15%” hoặc tùy ý bạn, mục đích để các layer trùng lên nhau. Section bên dưới bg_color=”rgba(0, 0, 0, 0)” padding=”-15%” và Banner chọn background là file svg vừa mới tải, bg_color=”rgba(0, 0, 0, 0)”

Thêm cột kích thước hình ảnh và sort được trong wordpress media

Thêm cột kích thước file trong admin media nhằm cho biết dung lượng lớn không cần thiết lên website. Thay my-theme-text-domain bằng domain theme của bạn

add_filter( 'manage_media_columns', 'codfe_media_columns_filesize' );
/**
 * Filter the Media list table columns to add a File Size column.
 *
 * @param array $posts_columns Existing array of columns displayed in the Media list table.
 * @return array Amended array of columns to be displayed in the Media list table.
 */
function codfe_media_columns_filesize( $posts_columns ) {
	$posts_columns['filesize'] = __( 'File Size', 'my-theme-text-domain' );
 
	return $posts_columns;
}
 
add_action( 'manage_media_custom_column', 'codfe_media_custom_column_filesize', 10, 2 );
/**
 * Display File Size custom column in the Media list table.
 *
 * @param string $column_name Name of the custom column.
 * @param int    $post_id Current Attachment ID.
 */
function codfe_media_custom_column_filesize( $column_name, $post_id ) {
	if ( 'filesize' !== $column_name ) {
		return;
	}
 
	$bytes = filesize( get_attached_file( $post_id ) );
 
	echo size_format( $bytes, 2 );
}
 
add_action( 'admin_print_styles-upload.php', 'codfe_filesize_column_filesize' );
/**
 * Adjust File Size column on Media Library page in WP admin
 */
function codfe_filesize_column_filesize() {
	echo
	'<style>
		.fixed .column-filesize {
			width: 10%;
		}
	</style>';
}
 
// Make column sortable
function codfe_add_column_sortable_file_size($columns) {
  $columns['filesize'] = 'filesize';
  return $columns;
}
add_filter('manage_upload_sortable_columns', 'codfe_add_column_sortable_file_size');
 
 
// Column sorting logic (query modification)
function codfe_sortable_file_size_sorting_logic($query) {
  global $pagenow;
  if(is_admin() && 'upload.php' == $pagenow && $query->is_main_query() && !empty($_REQUEST['orderby']) && 'filesize' == $_REQUEST['orderby']) {
    $query->set('order', 'ASC');
    $query->set('orderby', 'meta_value_num');
    $query->set('meta_key', 'filesize');
    if('desc' == $_REQUEST['order']) {
      $query->set('order', 'DSC');
    }
  }
}
add_action('pre_get_posts', 'codfe_sortable_file_size_sorting_logic');

Thêm bài viết liên quan theo danh mục cho blog

Thêm tính năng cho Flatsome

chèn đoạn code sau vào file functions.php của Child Theme

/* Dev by Woovn */ add_shortcode('woovn_posts_related','flatsome_related_posts');
function flatsome_related_posts(){
	ob_start();
	$categories = get_the_category(get_the_ID());
	if ($categories){
		echo '<div class="relatedcat">';
		$category_ids = array();
		foreach($categories as $individual_category) array_push($category_ids, $individual_category->term_id);
		$my_query = new wp_query(array(
			'category__in' => $category_ids,
			'post__not_in' => array(get_the_ID()),
			'posts_per_page' => 6
		));
		$ids = wp_list_pluck( $my_query->posts, 'ID' );
		$ids = implode(',', $ids);
		if( $my_query->have_posts() ){
			echo '<h3>Bài viết liên quan</h3>';
			//echo do_shortcode('
  
    
'); // Slider echo do_shortcode('
'); // Row } echo '</div>'; } return ob_get_clean(); }

Sau đó chúng ta chỉ việc chèn shortcode sau vào HTML after blog posts trong Tùy biến ▸ Blog ▸ Blog Single Post

<!-- Chèn vào HTML after blog posts -->
[woovn_posts_related]

Bài viết liên quan theo tag

Dán code này vào file functions.php của theme/child theme đang kích hoạt

/*
 * Code bài viết liên quan theo tag
*/
function bvlq() {
    global $post;
    $tags = wp_get_post_tags($post->ID);
    if ($tags){
        $output = '<div class="relatedcat">';
        $first_tag = $tags[0]->term_id;
        
        $args=array(
            'tag__in' => array($first_tag),
            'post__not_in' => array($post->ID),
            'posts_per_page'=>3,
            'caller_get_posts'=>1
        );
        $my_query = new wp_query($args);
        
        if( $my_query->have_posts() ):
            $output .= '<p>Bài viết liên quan:</p><ul class="row related-post">';
            while ($my_query->have_posts()):$my_query->the_post();
            $output .= 
                '<li class="col large-4">
                                <a href="'.get_the_permalink().'" title="'.get_the_title().'">
                                    <div class="feature">
                                        <div class="image" style="background-image:url('. get_the_post_thumbnail_url() .');"></div>
                                    </div>                            
                                </a>
                                <div class="related-title"><a href="'.get_the_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a></div>
                            </li>';
            endwhile;
            $output .= '</ul>';
        endif; wp_reset_query();
        $output .= '</div>';
        return $output;
    }
    else return;
}
add_shortcode('bvlq', 'bvlq');

Bài viết liên quan cùng Chuyên mục

/*
 * Code bài viết liên quan theo chuyên mục
*/
function bvlq_danh_muc() {
    $output = '';
    if (is_single()) {
      global $post;
      $categories = get_the_category($post->ID);
      if ($categories) {
        $category_ids = array();
        foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
        $args=array(
          'category__in' => $category_ids,
          'post__not_in' => array($post->ID),
          'posts_per_page'=>3,
          'caller_get_posts'=>1
        );
        
        $my_query = new wp_query( $args );
        if( $my_query->have_posts() ):
            $output .= '<div class="relatedcat">';
                $output .= '<p>Bài viết liên quan:</p><div class="row related-post">';
                    while ($my_query->have_posts()):$my_query->the_post();
                    $output .= 
                        '<div class="col large-4">
                            <a href="'.get_the_permalink().'" title="'.get_the_title().'">
                                <div class="feature">
                                    <div class="image" style="background-image:url('. get_the_post_thumbnail_url() .');"></div>
                                </div>                            
                            </a>
                            <div class="related-title"><a href="'.get_the_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a></div>
                        </div>';
                    endwhile;
                $output .= '</div>';
            $output .= '</div>';
        endif;   //End if.
      wp_reset_query();
    }
    return $output;
  }
}
add_shortcode('bvlq_danh_muc','bvlq_danh_muc');

chèn vào style.css của theme/child theme đang kích hoạt hoặc thêm vào CSS bổ sung trong Tuỳ biến của Flatsome

.feature {
    position: relative;
    overflow: hidden;
}
.feature::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.feature .image{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background-size: cover;
    background-position: center;
}
ul.row.related-post li {
    list-style: none;
}
.related-title {
    line-height: 1.3 !important;
    margin-top: 10px !important;
}

Sau khi thêm đủ 2 cái đó cho con, chúng ta được 2 shortcode [“bvlq”] và [“bvlq_danh_muc”] (bỏ dấu ” ” khi copy nhé). Chúng ta chọn 1 loại rồi thêm vào Flatsome –> Theme Option –> Blog –> Blog Single Post, chúng ta kéo xuống dưới cùng, tới phần HTML after blog posts. Chúng ta chèn shortcode.

Thu gọn nội dung chi tiết sản phẩm

/*
* Thêm nút Xem thêm vào phần mô tả của bài viết sản phẩm
*/
add_action('wp_footer','hal_readmore_flatsome');
function hal_readmore_flatsome(){
    ?>
    <style>
        .single-product div#tab-description {
            overflow: hidden;
            position: relative;
        }
        .single-product .tab-panels div#tab-description.panel:not(.active) {
            height: 0 !important;
        }
        .hal_readmore_flatsome {
            text-align: center;
            cursor: pointer;
            position: absolute;
            z-index: 9999;
            bottom: 0;
            width: 100%;
            background: #fff;
        }
        .hal_readmore_flatsome:before {
            height: 55px;
            margin-top: -45px;
            content: "";
            background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
            background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
            background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff00', endColorstr='#ffffff',GradientType=0 );
            display: block;
        }
        .hal_readmore_flatsome a {
            color: #318A00;
            display: block;
        }
        .hal_readmore_flatsome a:after {
            content: '';
            width: 0;
            right: 0;
            border-top: 6px solid #318A00;
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            display: inline-block;
            vertical-align: middle;
            margin: -2px 0 0 5px;
        }
    </style>
    <script>
        (function($){
            $(document).ready(function(){
                $(window).on('load', function(){
                    if($('.single-product div#tab-description').length > 0){
                        var wrap = $('.single-product div#tab-description');
                        var current_height = wrap.height();
                        var your_height = 300;
                        if(current_height > your_height){
                            wrap.css('height', your_height+'px');
                            wrap.append(function(){
                                return '<div class="hal_readmore_flatsome"><a title="Xem thêm" href="javascript:void(0);">Xem thêm</a></div>';
                            });
                            $('body').on('click','.hal_readmore_flatsome', function(){
                                wrap.removeAttr('style');
                                $('body .hal_readmore_flatsome').remove();
                            });
                        }
                    }
                });
            });
        })(jQuery);
    </script>
    <?php
}

Lưu ý giá trị là 300. Đó chính là chiều dài của khung nội dung. Nếu muốn khung nội dung dài hay ngắn thì hãy chỉnh sửa thông số đó cho phù hợp.

Thu gọn nội dung chi tiết danh mục sản phẩm

/*
 * Thêm nút Xem thêm vào phần mô tả của danh mục sản phẩm
 * Author: anhlinhmkt - https://anhlinhmkt.com
*/
add_action('wp_footer','hal_readmore_taxonomy_flatsome');
function hal_readmore_taxonomy_flatsome(){
    if(is_woocommerce() && is_tax('product_cat')):
        ?>
        <style>
            .tax-product_cat.woocommerce .shop-container .term-description {
                overflow: hidden;
                position: relative;
                margin-bottom: 20px;t
                padding-bottom: 25px;
            }
            .hal_readmore_taxonomy_flatsome {
                text-align: center;
                cursor: pointer;
                position: absolute;
                z-index: 10;
                bottom: 0;
                width: 100%;
                background: #fff;
            }
            .hal_readmore_taxonomy_flatsome:before {
                height: 55px;
                margin-top: -45px;
                content: "";
                background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
                background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
                background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
                filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff00', endColorstr='#ffffff',GradientType=0 );
                display: block;
            }
            .hal_readmore_taxonomy_flatsome a {
                color: #318A00;
                display: block;
            }
            .hal_readmore_taxonomy_flatsome a:after {
                content: '';
                width: 0;
                right: 0;
                border-top: 6px solid #318A00;
                border-left: 6px solid transparent;
                border-right: 6px solid transparent;
                display: inline-block;
                vertical-align: middle;
                margin: -2px 0 0 5px;
            }
            .hal_readmore_taxonomy_flatsome_less:before {
                display: none;
            }
            .hal_readmore_taxonomy_flatsome_less a:after {
                border-top: 0;
                border-left: 6px solid transparent;
                border-right: 6px solid transparent;
                border-bottom: 6px solid #318A00;
            }
        </style>
        <script>
            (function($){
                $(document).ready(function(){
                    $(window).on('load', function(){
                        if($('.tax-product_cat.woocommerce .shop-container .term-description').length > 0){
                            var wrap = $('.tax-product_cat.woocommerce .shop-container .term-description');
                            var current_height = wrap.height();
                            var your_height = 300;
                            if(current_height > your_height){
                                wrap.css('height', your_height+'px');
                                wrap.append(function(){
                                    return '<div class="hal_readmore_taxonomy_flatsome hal_readmore_taxonomy_flatsome_show"><a title="Xem thêm" href="javascript:void(0);">Xem thêm</a></div>';
                                });
                                wrap.append(function(){
                                    return '<div class="hal_readmore_taxonomy_flatsome hal_readmore_taxonomy_flatsome_less" style="display: none"><a title="Thu gọn" href="javascript:void(0);">Thu gọn</a></div>';
                                });
                                $('body').on('click','.hal_readmore_taxonomy_flatsome_show', function(){
                                    wrap.removeAttr('style');
                                    $('body .hal_readmore_taxonomy_flatsome_show').hide();
                                    $('body .hal_readmore_taxonomy_flatsome_less').show();
                                });
                                $('body').on('click','.hal_readmore_taxonomy_flatsome_less', function(){
                                    wrap.css('height', your_height+'px');
                                    $('body .hal_readmore_taxonomy_flatsome_show').show();
                                    $('body .hal_readmore_taxonomy_flatsome_less').hide();
                                });
                            }
                        }
                    });
                });
            })(jQuery);
        </script>
    <?php
    endif;
}

Tương tự như vậy giá trị là 300, đây là chiều cao của khung mô tả

Đưa mô tả danh mục sản phẩm xuống dưới

//* Đưa mô tả danh mục xuống dưới.
remove_action('woocommerce_archive_description','woocommerce_taxonomy_archive_description', 10 );
add_action( 'woocommerce_after_shop_loop', 'woocommerce_taxonomy_archive_description', 100 );

Tạo ảnh WebP

Đuôi ảnh .webp tối ưu, nhẹ. Sử dụng thử plugin WebP Converter for Media – Convert WebP & Optimize Images được cái:
  • Miễn phí
  • Hiển thị ảnh bằng chế độ “via .htaccess” (bạn xem ảnh vẫn thấy đuôi .jpg nhưng bấm save thì ra .webp). Có nghĩa ảnh được load là webp nhưng url cũ vẫn được giữ nguyên.
  • Nhiều tùy chọn, dư xài (chất lượng ảnh, auto convert, cache, redirect, regenerate…)
Trình duyệt web nào chưa hỗ trợ WebP thì ảnh gốc (jpg, png) sẽ được hiển thị vì file .webp được tạo và đặt ở 1 folder riêng, không ảnh hưởng đến file media gốc của bạn.
Lúc nào chán không muốn dùng nữa thì xóa plugin, xóa folder file webp đi là xong. Nhưng mà nên xài đi, mai mốt còn lên chuẩn AVIF nữa chứ 
https://wordpress.org/plugins/webp-converter-for-media/

Tự động thêm tên file ảnh vào thuộc tính

Thêm tính năng cho Flatsome

Các thuộc tính của ảnh: tiêu đề ảnh, mô tả ảnh trong SEO rất là quan trọng. Một đoạn function để giúp các bạn có thể điền 1 cách tự động các thuộc tính này khi thêm 1 ảnh mới, thông tin thêm mới sẽ dựa trên tên file ảnh mà bạn đặt nhé.

function abl_mc_auto_image_attributes( $post_ID ) {
  $attachment = get_post( $post_ID );
   
  $attachment_title = $attachment->post_title;
  $attachment_title = str_replace( '-', ' ', $attachment_title ); // Hyphen Removal
  $attachment_title = ucwords( $attachment_title ); // Capitalize First Word
   
  $uploaded_image = array();
  $uploaded_image['ID'] = $post_ID;
  $uploaded_image['post_title'] = $attachment_title; // Tiêu đề ảnh
  $uploaded_image['post_excerpt'] = $attachment_title; // Chi tiết ảnh
  $uploaded_image['post_content'] = $attachment_title; // Mô tả ảnh
   
  wp_update_post( $uploaded_image );
  update_post_meta( $post_ID, '_wp_attachment_image_alt', $attachment_title ); // Image Alt Text
}
add_action( 'add_attachment', 'abl_mc_auto_image_attributes' );

khi các bạn thêm ảnh mới thì nó sẽ tự động cập nhật tiêu đề, chi tiết và mô tả ảnh.

Chèn bài viết liên quan vào giữa bài viết

Đầu tiên chúng ta sẽ viết 1 function để có thể hiển thị được các bài viết cùng category với bài viết hiện tại nhé, để có thể viết được function này. Các bạn tìm hiểu giúp mình về WP query.

Đầu tiên sẽ tạo 1 shortcode có tên gọi là [post_pttuan]

function recent_post_by_pttuan(){
    ob_start();
    $cats = wp_get_post_categories( get_the_ID(), array( 'fields' => 'ids' ) );
        $the_query = new WP_Query( array(
            'post_type' => 'post',
            'posts_per_page' => '5',
            'post__not_in' => array(get_the_ID()),
            'tax_query' => array(
                array (
                    'taxonomy' => 'category',
                    'field' => 'term_id',
                    'terms' => $cats,
                )
            ),
        ) );
        if($the_query->have_posts()){
            echo '<div class="pttuan_post_recent_main">';
            echo '<h3 class="pttuan_post_recent_main_title text-center">Bài viết liên quan</h3>';
            echo '<div class="pttuan_post_recent_container">';
            while ( $the_query->have_posts() ):$the_query->the_post();?>
            <div class="pttuan_post_recent_item">
                <a href="<?php echo get_the_permalink();?>">
                <div class="pttuan_post_recent_thumbnail">
                    <?php echo get_the_post_thumbnail();?>
                </div>
                <div class="pttuan_post_recent_title">
                    <?php echo get_the_title();?>
                </div>
                </a>
            </div>
            <?php endwhile;
            echo '</div></div>';
        };
        wp_reset_postdata();
    $list_post = ob_get_contents();
    ob_end_clean();
    return $list_post;
}
add_shortcode('post_pttuan','recent_post_by_pttuan');

Bạn có thể dán shortcode vào bất kì đâu để nó hiển thị các bài viết liên quan đến bài viết hiện tại, nếu bài viết nhiều category thì nó sẽ lấy nhiều category.

Các bạn chú ý đến cái dòng ‘posts_per_page’ => ‘5’, Các bạn muốn hiển thị mấy bài viết thì sửa số 5 thành bất kì nhé.

Hiển thị bài viết liên quan vào giữa bài post 1 cách tự động

Để chèn ký tự hoặc 1 đoạn văn vào giữa bài post 1 cách tự động thì các bạn sẽ phải can thiệp vào filter của wordpress.

Để chèn được vào giữa bài viết, cụ thể là mình sẽ chèn vào đoạn thứ 2 của bái viết (Enter 1 lần sẽ là 1 đoạn).

add_filter('the_content', 'contentafter2para');
function contentafter2para($content){
    if(is_single()){
        $pttuan_content = do_shortcode('[post_pttuan]');
        $after = 2;
        $end = '</p>';
        $content_pttuan = explode($end, $content);
        foreach($content_pttuan as $key => $cont){
            if(trim($cont)) {
                $content_pttuan[$key] .= $end;
            }
            if(($key + 1) == $after){  
                $content_pttuan[$key] .= $pttuan_content;
            }
        }
        $content = implode('', $content_pttuan);
    }
    return $content;    
}

Bạn chú ý đến đoạn $after = 2; giúp mình, nếu bạn mún nó hiển thị ở đoạn thứ 3 thì sửa thành 3 nhé.

Thêm 1 chút CSS cho nó

function css_custom(){;?>
<style>
    .pttuan_post_recent_main_title{
        color: #fff;
        font-weight: bolder;
        margin-bottom: 15px;
    }
    .pttuan_post_recent_main{
        background: #1d65d8;
        padding: 10px 5px;
        margin-bottom: 15px;
        border-radius: 5px;
    }
    .pttuan_post_recent_container{
        display: flex;
        justify-content: space-between;
    }
    .pttuan_post_recent_container>*{
        width: 19%;
        background: #fff;
        border-radius: 3px;
    }
    .pttuan_post_recent_thumbnail{
        height: 80px;
        overflow: hidden;
        margin-bottom: 10px;
    }
    .pttuan_post_recent_title{
        font-size: 14px;
        line-height: 1.25;
        padding: 0 5px;
    }
    @media only screen and (max-width: 48em) {
        .pttuan_post_recent_container>*{
            width: 30%;
            margin-right: 10px;
        }
        .pttuan_post_recent_container>*:last-child{
            margin-right: unset;
        }
        .pttuan_post_recent_container{
            overflow-x: scroll;
            flex-flow: unset;
            display: -webkit-box;
        }
        .pttuan_post_recent_thumbnail{
            height: 50px;
            margin-bottom: 5px;
        }
        .pttuan_post_recent_title{
            font-size: 11px;
        }
    }
</style>
<?php }
add_action('wp_footer','css_custom');

Cuộn trang Landing Page với “Scroll To”

Trong bài viết này, để các bạn dễ hình dung, mình sẽ lấy ví dụ khi chúng ta click vào button “Nhận Báo Giá“, trang Landing Page sẽ cuộn xuống mục “Báo Giá“.

Đầu tiên các bạn mở trình chỉnh sửa UX-Builder lên -> “Add elements” -> Chọn “Scroll To” -> Tại đây các bạn nhập thông tin:

  • Tiêu đề/Title: Title này sẽ hiển thị tại bullet/chấm tròn bên phải màn hình Desktop khi người dùng rê chuột đến.
  • Link: các bạn set link bắt đầu với #link.
  • Bullet: On hoặc Off để tùy chọn hiển thị chấm tròn bên phải màn hình Desktop.

Sau đó, các bạn click và kéo mục “Scroll To” đến section mà bạn cần cuộn trang đến. Và chọn button cần chèn link, kéo xuống mục liên kết, paste link #link mà bạn đã đặt vào. (Như ví dụ ở hình dưới, mình đã set link cho “Scroll To” là #baogia).

Thêm tính năng cho Flatsome

Để chèn link cuộn trang lên thanh menu, các bạn truy cập vào trang quản trị, các bạn chọn “Giao diện” -> “Menu” -> Chọn “Menu” cần sửa -> Chọn “Liên kết tự tạo” -> Nhập link & Tiêu đề Menu -> “Thêm vào Menu” -> kéo menu đến vị trí bạn cần đặt & “Lưu Menu” để cập nhật.

Thêm tính năng cho Flatsome

Ẩn thông báo trong trang quản trị

// yellow pencil, flatsome activation nag remover
function admin_css() {
 echo '<style>
#update-nag, .update-nag, .wrap .yellowpencil-notice, #flatsome-notice {display: none !important;}
 </style>';
}
add_action('admin_head', 'admin_css');    

 

Nguồn: https://pttuan410.com/huong-dan-cach-chen-bai-viet-lien-quan-vao-giua-bai-viet/

https://pttuan410.com/huong-dan-tang-diem-google-speed-insight-voi-plugin-litespeed/

https://pttuan410.com/huong-dan-tao-popup-co-the-bat-tat-cho-website-cua-ban-ma-khong-can-dung-plugin/

https://pttuan410.com/mot-so-hook-co-ban-cua-theme-flatsome-p-2/

https://pttuan410.com/mot-so-hook-co-ban-cua-theme-flatsome-p-1/

Trả lời

Email của bạn sẽ không được hiển thị công khai.