Có những đoạn code, câu lệnh mà mình hay phải dùng do vậy mình ghi lại ở bài viết này để khi cần mình mở ra xem, vì thế mà có thể bạn sẽ không tìm thấy gì giúp ích cho bạn ở đây cả! (Khue Tran)
Bài viết này bạn sẽ không thấy hữu ích, mình chỉ lưu lại trong bộ sưu tập của mình và khi cần mình cũng mở ra xem cho dễ dàng. (Sam Minh Tuan)
Regex
#Dot \. #Anything (.*?) # \.(.*?)\.
Cài HocVPS Script
Đổi sang DNS Google trước khi cài
# nano /etc/resolv.conf
Thêm 2 dòng sau vào cuối là được:
nameserver 8.8.8.8 nameserver 8.8.4.4
curl -sO https://hocvps.com/install && bash install
Sau khi cài đăng nhập với port 2222. Xem cập nhật tại đây.
Cài WordPress
Nếu lần đầu cài WordPress trên VPS cần chạy đoạn code sau:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/bin/wp
Lệnh tải mã nguồn WordPress về thư mục cần cài:
wp core download --allow-root
Sau khi tải xong chạy lệnh:
chown -R nginx:nginx /home/www.domain.com/public_html hoặc chown -R nginx:nginx /home/*/public_html
Xóa thư mục
rm -rf mydir
Zip các file
zip -r file *
Test và restart nginx
nginx -t service nginx restart
Chặn truy cập IP
server { listen 80 default_server; server_name _; # some invalid name that won't match anything return 444; }
Thêm Alias IP Centos
Copy file mẫu:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
Sửa file:
/etc/sysconfig/network-scripts/ifcfg-eth0:0
Nội dung file:
DEVICE="eth0:0" ONBOOT="yes" BOOTPROTO="static" IPADDR="IP_FAILOVER" NETMASK="255.255.255.255" BROADCAST="IP_FAILOVER"
Restart và reboot:
ifup eth0:0 reboot
www hoặc non-www
#www to non-www server { listen 80; server_name www.domain.com; return 301 $scheme://domain.com$request_uri; } #non-www to www server { listen 80; server_name domain.com; return 301 $scheme://www.domain.com$request_uri; }
Bỏ file index.html hoặc index.php khỏi URL
server_name domain.com; if ($request_uri ~ "/(index|index.(php|html?))") { rewrite ^ /$1 permanent; }
Bỏ đuôi .html
server_name domain.com; if ($request_uri ~ "/(index|index.(php|html?))") { rewrite ^ /$1 permanent; } if ($uri !~ /index\.html$) { rewrite ^(/.+)\.html$ $scheme://$host$1 permanent; }
Redirect trang 404
server_name www.domain.com; error_page 404 = @my404; location @my404 { return 301 /; }
Redirect URL
server_name www.domain.com; rewrite ^/sample-url/$ https://domain.com/another-url/ permanent; #Redirect các url chung folder server_name www.domain.com; location ~ ^/folder-folder/(.*)$ { return 301 https://domain.com/; } #Redirect các url chung đuôi .html server_name www.domain.com; rewrite ^(/.+)\.html$ https://domain.com/ permanent;
Cloudflare Wildcard Redirect
*domain.com/* => https://anotherdomain.com/$2 #hoặc *domain.com/* => https://www.anotherdomain.com/$2 #hoặc https://domain.com/* => https://anotherdomain.com/$1 #hoặc *domain.com/* => https://$1anotherdomain.com/$2 # $1 tương ứng với * thứ nhất và $2 tương ứng với * thứ 2 và tương tự.
Thêm site mới LAMP
mkdir -p /var/www/domain.com/public_html mkdir -p /var/www/domain.com/log chown -R www-data:www-data /var/www/domain.com cp /etc/apache2/sites-available/default.com.conf /etc/apache2/sites-available/domain.com.conf a2ensite domain.com service apache2 reload
PHP
//single <?php if (( is_single())) { ?> <div style="text-align:center;"> ... </div> <?php } ?> //theo template if (( !is_page_template( 'page_landing.php' ) )) //front page if ((is_front_page() )) // if (( is_front_page() || is_single())) // if (( is_single() && !is_single(1561)))
Xenforo
<xen:if is="!in_array({$contentTemplate}, array('message_page', 'error', 'search_form', 'search_form_post', 'search_form_profile_post', 'search_results', 'register_form', 'login', 'error_with_login', 'contact', 'moderation_queue_list', 'report_list'))"> #html </xen:if> <xen:if is="in_array({$contentTemplate}, array('forum_list', 'thread_view'))"> #html </xen:if> <xen:if is="{$contentTemplate} == 'forum_list'"> #html </xen:if>
Footer Genesis
add_shortcode( 'sitename', 'site_name' ); function site_name() { return '<a href="' . get_bloginfo( 'url' ) . '" title="' . get_bloginfo( 'sitename' ) . '">' . get_bloginfo( 'name' ) . '</a>'; } add_filter('genesis_footer_creds_text', 'sp_footer_creds_filter'); function sp_footer_creds_filter( $creds ) { $creds = '© 2018 · [sitename] · <a href="/about/">About</a>'; return $creds; }
Thumbnail Genesis
add_image_size( 'thumb65', 65, 65, TRUE );
Thêm Related Post (Radom) sau đoạn đầu bài viết
//* Hiển thị random post trong bài viết //* Tạo shortcode function wpb_rand_posts() { $args = array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 3, ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { $string .= '<ul>'; while ( $the_query->have_posts() ) { $the_query->the_post(); $string .= '<li><a href="'. get_permalink() .'">'. get_the_title() .'</a></li>'; } $string .= '</ul>'; /* Restore original Post Data */ wp_reset_postdata(); } else { $string .= 'no posts found'; } return $string; } add_shortcode('wpb-random-posts','wpb_rand_posts'); add_filter('widget_text', 'do_shortcode'); //Hiển thị shortcode sau đoạn đầu tiên trong bài viết add_filter( 'the_content', 'prefix_insert_post_ads' ); function prefix_insert_post_ads( $content ) { $ad_code = '<div class="see-also"><p>See also:</p>[wpb-random-posts]</div>'; if ( is_single() && ! is_admin() ) { return prefix_insert_after_paragraph( $ad_code, 1, $content ); } //Nếu muốn hiển thị post ở sau đoạn 2, 3,.. thì sửa 1 thành 2,3,... return $content; } // Parent Function 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 ); } // Nếu muốn hiển thị ở trước đoạn cuối cùng thì thay từ chỗ Hiển thị shortcode thành function ads_added_above_last_p($text) { if( is_single() ) : $ads_text = '<div class="see-also"><p>See also:</p>[wpb-random-posts]</div>'; if($pos1 = strrpos($text, '<p>')){ $text1 = substr($text, 0, $pos1); $text2 = substr($text, $pos1); $text = $text1 . $ads_text . $text2; } endif; return $text; } add_filter('the_content', 'ads_added_above_last_p'); //CSS .see-also ul { font-size: 15px; font-weight: 700; margin-left: 30px; line-height: 1.4; } .see-also p { font-weight: 700; margin-bottom: 10px; }
Thêm Related Post by Category sau đoạn đầu bài viết
//Related Post by Category //Tạo shortcode function wp_cats_posts() { // Default arguments $args = array( 'posts_per_page' => 4, // How many items to display 'post__not_in' => array( get_the_ID() ), // Exclude current post 'no_found_rows' => true, // We don't ned pagination so this speeds up the query ); // Check for current post category and add tax_query to the query arguments $cats = wp_get_post_terms( get_the_ID(), 'category' ); $cats_ids = array(); foreach( $cats as $wpex_related_cat ) { $cats_ids[] = $wpex_related_cat->term_id; } if ( ! empty( $cats_ids ) ) { $args['category__in'] = $cats_ids; } // Query posts $wpex_query = new wp_query( $args ); if ( $wpex_query->have_posts() ) { $string .= '<ul>'; while ( $wpex_query->have_posts() ) { $wpex_query->the_post(); $string .= '<li><a href="'. get_permalink() .'">'. get_the_title() .'</a></li>'; } $string .= '</ul>'; /* Restore original Post Data */ wp_reset_postdata(); } else { $string .= 'no posts found'; } return $string; } add_shortcode('wp-cats-posts','wp_cats_posts'); add_filter('widget_text', 'do_shortcode');
//Insert ads after first paragraph of single post content. add_filter( 'the_content', 'prefix_insert_post_ads' ); function prefix_insert_post_ads( $content ) { $ad_code = '<div class="see-also"><p>See also:</p>[wp-cats-posts]</div>'; if ( is_single() && ! is_admin() ) { return prefix_insert_after_paragraph( $ad_code, 1, $content ); } return $content; } // Parent Function that makes the magic happen 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 ); }
Noindex Subpage Genesis
/*Add noindex to low value pages*/ function add_noindex_tags(){ # Get page number for paginated archives. $paged = intval( get_query_var( 'paged' ) ); # Add noindex tag to homepage paginated pages. if(( is_home() || is_front_page() ) && $paged >= 2 ) echo '<meta name="robots" content="noindex,follow">'; } add_action('wp_head','add_noindex_tags', 4 );
Đổi author link
add_filter( 'author_link', 'my_author_link' ); function my_author_link() { return home_url( 'about' ); }
Source: Khue Tran
Leave a Reply