Trong một số trường hợp chỉ cần vài dòng code trong file function.php là có thể xử lý được việc bạn đang cần
vì vậy việc tìm hiểu code file function.php hay dùng và rất hữu dụng là rất cần thiết nhé
Các đoạn code file function.php hay dùng và rất hữu dụng
Đưa wid về dạng mặc định ( từ WordPress 5.8 )
Khi anh em Update lên bản WordPress 5.8 sẽ bị lỗi widget. Để khắc phục anh em copy Function này vào: Giao diện / Sửa Giao Diện / function.php:
function vietcoders_remove_widget_new() {remove_theme_support( ‘widgets-block-editor’ );}add_action( ‘after_setup_theme’, ‘vietcoders_remove_widget_new’ );
Hoặc
//widgets mặc định
add_filter( ‘use_widgets_block_editor’, ‘__return_false’ );
Đưa bộ soạn thảo mặc định ( từ wordpress 5.0 )
add_action( ‘after_setup_theme’, ‘isures_remove_widgets_block_editor’ );
// soạn thảo mặc định cho worpress
Dịch 1 đoạn text bất kỳ
Ví dụ chữ ‘Quick View’ => ‘XEM CHI TIẾT’
function my_custom_translations( $strings ) {
$text = array(
‘Quick View’ => ‘XEM CHI TIẾT’
);
$strings = str_ireplace( array_keys( $text ), $text, $strings );
return $strings;
}add_filter( ‘gettext’, ‘my_custom_translations’, 20 );
Ẩn đòi bản quyền FLATSOME
add_action( ‘init’, ‘taxonomy_doitac’, 0 );
// Ẩn đòi bài quyền Flatsome 🙂
add_action(‘admin_head’, ‘vietcoders_flatsome_issues’);function vietcoders_flatsome_issues() {echo ‘<style>div#flatsome-notice {display: none;}</style>’;}
Code của Group Vietcodes https://zalo.me/g/fgewxk795
Tạo 1 short bất kỳ
//Khởi tạo function cho shortcode
add_shortcode( ‘luotxem’, ‘show_luotxem’ );
function show_luotxem() { ?>
<div class=”luot-xem”>
<?php echo getPostViews(get_the_ID()); ?> </div>
<?php
}
Với ví dụ trên 1 short được tạo có tên luotxem
Cách thêm 1 short đã tạo trên PHP
<?php echo do_shortcode(‘[tao_shortcode]’); ?>
trong đó [tao_shortcode] là tên Short đã được tạo truóc đó
Đã cập nhật ngày 09/08
Function rút ngắn title sản phẩm
// Function rút ngắn title sản phẩm
add_filter( ‘the_title’, ‘short_title_product’, 10, 2 );
function short_title_product( $title, $id ) {
if (get_post_type( $id ) === ‘product’ & !is_single() ) {
return wp_trim_words( $title, 7 ); // thay đổi số từ bạn muốn thêm
} else {
return $title;
}
}
Function rút ngắn title của bài post.
// Function rút ngắn title của bài post.
add_filter( ‘the_title’, ‘shorten_post_title’, 10, 2 );
function shorten_post_title( $title, $id ) {
if (get_post_type( $id ) === ‘post’ & !is_single() ) {
return wp_trim_words( $title, 14 ); // thay đổi số từ bạn muốn hiển thị
} else {
return $title;
}
}
Css rút ngắn title của bài post.
//CSS rút gọn tiêu đề 2 dòng
p.name.product-title a {
padding-top: 5px;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
Theo : Group vietcodes Group 102 Only See VietCoders: Group chuyên về Lưu trữ, Chia sẻ các Tút, Trick, Key, Apps … về máy tính và WordPress: https://zalo.me/g/fgewxk795
Xoá các Media thừa
add_filter(‘intermediate_image_sizes’, function ($sizes) {
return array_diff($sizes, [‘medium_large’]); // Medium Large (768 x 0)
});
//
add_action(‘init’, ‘remove_extra_image_sizes’);
function remove_extra_image_sizes()
{
$sizes = array();
foreach (get_intermediate_image_sizes() as $size) {
if (!in_array($size, $sizes)) {
remove_image_size($size);
}
}
}
Theo : Group vietcodes Group 102 Only See VietCoders: Group chuyên về Lưu trữ, Chia sẻ các Tút, Trick, Key, Apps … về máy tính và WordPress: https://zalo.me/g/fgewxk795
Shortcode wordpress hiện nội dung nếu thành viên đăng nhập
Bạn mở file Functions.php ở thư mục Theme đang sử dụng và thêm đoạn code này:
add_shortcode( ‘dangnhap’, ‘check_user_login’ );
function check_user_login($atts, $content = null) {
if( is_user_logged_in() ) {return ‘<p>’ . $content . ‘</p>’;}
else {return “Bạn cần đăng nhập để xem nội dung này!”;}
}
Và chèn ẩn nội dung muốn ẩn dạng
[dangnhap] Nội dung ở đây [/dangnhap
Cách tách TAB trong Sản phẩm FLATSOME thành List
if ( ! function_exists( ‘woocommerce_output_product_data_tabs’ ) ) {
function woocommerce_output_product_data_tabs() {
wc_get_template( ‘single-product/tabs/tabs.php’ );
}
}
function woocommerce_output_product_data_tabs() {
$product_tabs = apply_filters( ‘woocommerce_product_tabs’, array() );
if ( empty( $product_tabs ) ) return;
echo ‘<div class=”woocommerce-tabs wc-tabs-wrapper”>’;
foreach ( $product_tabs as $key => $product_tab ) {
?>
<div id=”tab-<?php echo esc_attr( $key ); ?>”>
<?php
if ( isset( $product_tab[‘callback’] ) ) {
call_user_func( $product_tab[‘callback’], $key, $product_tab );
}
?>
</div>
<?php
}
echo ‘</div>’;
}
Tự động đổi ALT ảnh theo TITLE bài đăng
add_filter(‘wp_get_attachment_image_attributes’, ‘change_attachement_image_attributes’, 20, 2);
function change_attachement_image_attributes( $attr, $attachment ){
$parent = get_post_field( ‘post_parent’, $attachment);
$type = get_post_field( ‘post_type’, $parent);
if( $type != ‘product’ ){
return $attr;
}
$title = get_post_field( ‘post_title’, $parent);
$attr[‘alt’] = $title;
$attr[‘title’] = $title;
return $attr;
}
Chèn 1 block bất kỳ vào giữa bài đăng
//CHEN BLOG NỌI BAT VAO GIUA BAI VIET
add_filter( ‘the_content’, ‘insert_post_ads’ );
function insert_post_ads( $content ) {$ad_code = ‘<div class=”blog_noibat”>
[ block id=”plugin-theme”] </div>’;if ( is_single() && ! is_admin() ) {
return prefix_insert_after_paragraph( $ad_code, 3, $content );
}return $content;
}
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
$closing_p = ‘</p>’;
$paragraphs = explode( $closing_p, $content );
foreach ($paragraphs as $index => $paragraph) {if ( trim( $paragraph ) ) {
$paragraphs[$index] .= $closing_p;
}if ( $paragraph_id == $index + 1 ) {
$paragraphs[$index] .= $insertion;
}
}
return implode( ”, $paragraphs );
}
Cách Tạo 1 Sidebar trong WordPress
if (function_exists(‘register_sidebar’)){ register_sidebar(array( ‘name’=> ‘Cột bên’, ‘id’ => ‘sidebar’, )); }
nhét mã này vào vj trí cần Hiện thị
<?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(‘sidebar’) ) : ?><?php endif; ?>
Tạo Css ( hoặc hiện thị cái gì đó ) theo từng chuyên mục
<?php if ( in_category( ‘anh-dep’ )) : ?>
<!— bo sidebar – load full trang -->
<style type=”text/css”>
.large-9 {
max-width: 100%;
flex-basis: 100%;
}.large-3 {
display: none;
/* ẩn sidebar */
}
</style><?php else : ?>
<?php endif; ?>
Khi vào chuyên mục “anh-dep” = > sẽ chạy css bên dưới
Tạo một Lightbox đơn giản
12345 [button text="Lightbox button" link="#test"][lightbox id="test" width="600px" padding="20px"]Add lightbox content here...[/lightbox]
newsletter – Bạn có thể sử dụng lightbox để tạo đăng ký newsletter trong flatsome. Xem ví dụ sau:
123456789101112 <a href="#newsletter-signup-link"><span class="icon-envelop"></span> Newsletter Signup</a>[lightbox id="newsletter-signup-link" width="600px" padding="20px"][ux_banner bg="http://imageurl" height="400px" link="" animation="fadeInLeft" text_align="left" text_pos="left top" text_color="dark" text_width="40%"]<h3>Signup for Newsletter</h3><div class="tx-div medium"></div>[ninja_forms_display_form id=1][/ux_banner][/lightbox]
Lightbox tự động bật
Mặc định lightbox không tự động bật, phải được kích hoạt khi bạn nhấn nút hoặc liên kết trên trang. Tuy nhiên, bạn cũng muốn tự động bật lightbox khi load trang. Sử dụng đoạn shortcode sau đây:
12345678910 [lightbox auto_open="<span style="color: #ff0000;">true</span>" auto_timer="<span style="color: #ff0000;">3000</span>" auto_show="<span style="color: #ff0000;">always/once</span>" id="newsletter-signup-link" width="600px" padding="20px"][ux_banner bg="http://imageurl" height="400px" link="" animation="fadeInLeft" text_align="left" text_pos="left top" text_color="dark" text_width="40%"]<h3>Signup for Newsletter</h3><div class="tx-div medium"></div>[ninja_forms_display_form id=1][/ux_banner][/lightbox]
Để ý các thông số : 3000 là số thời gian box xuất hiện , always/once = lặp lai hình động hay chỉ 1 lần
Chúc các bạn vui vẻ