Skip to content

Instantly share code, notes, and snippets.

View khoipro's full-sized avatar
💭
#devops #wordpress #vuejs #docker

Nguyễn Minh Khôi khoipro

💭
#devops #wordpress #vuejs #docker
View GitHub Profile
@khoipro
khoipro / class-rewrites.php
Created January 15, 2024 11:42
The sample class Rewrites to remove a post type slug/
<?php
/**
* Rewrites Class
*
* @package CodetotTheme
* @author codetot
* @since 0.0.1
*/
namespace CODETOT\Theme;
@khoipro
khoipro / debug.log
Last active January 6, 2024 19:21
Sample function delete related attachments (created by ACF) when deleting a post
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 189
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 190
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 191
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 192
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 193
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 194
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 195
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 196
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete gallery attachment id 197
[06-Jan-2024 16:29:06 UTC] INFO: Delete product 188: delete video attachment id 235
@khoipro
khoipro / functions.php
Created January 4, 2024 14:48
Sample way to delete post tags by ids (export from Google Sheets with rows)
<?php
// Step 1: Copy all Google Sheets' row and process to only number with commas
// It looks like
// 197
// 112
// 256
// https://www.browserling.com/tools/text-rows-to-columns
// Step 2: Open with any IDE such like Visual Studio Code to remove all whitespace, eg: "192 ,91" => "192,91"
// Step 3: Place a term ids list replace $$raw_term_ids to remove it.
@khoipro
khoipro / Runcloud.md
Last active August 7, 2024 19:36
Hardening Runcloud VPS

Hardening VPS in Runcloud

Change SSH port

Step 1: Visit Dashboard > Choose Server > Security

Add New Rule
Globally Open Port, port 2040 (or your port)
Protocal: TCP
@khoipro
khoipro / sample-lazyload-sections.php
Last active June 13, 2025 14:33
Sample section lazyload using <noscript> - DRAFTING
<?php
/** Drafting **/
add_filter('the_content', 'codetot_lazyload_home_sections', 1000);
function codetot_lazyload_home_sections( $content ) {
$front_page_id = get_option('page_on_front');
if ( ! is_page( $front_page_id ) ) {
return $content;
}
@khoipro
khoipro / yoast-seo.php
Last active November 1, 2023 12:34
Get Yoast SEO meta by calling a DB
<?php
function get_yoast_seo_category_meta_title( $object_id) {
global $wpdb;
$table_name = $wpdb->prefix . 'yoast_indexable';
$result = $wpdb->get_row( $wpdb->prepare("SELECT title FROM $table_name WHERE `object_id` = '%s' AND `object_sub_type` = 'category';", $object_id), ARRAY_A );
return $result['title'] ?? 'None';
@khoipro
khoipro / .htaccess
Created September 12, 2023 03:52
Server config rules for set X-Robot-Tags
# For Apache, Litespeed
<Files ~ "\.(pdf|doc|docx|xls|xlsx|ppt|pptx)$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
@khoipro
khoipro / wp-php-coding-standards.php
Last active August 26, 2023 13:11
WP PHP Coding Standards
<?php
/**
* WP PHP Coding Standards
*
* @package CodingStandards
* @author codetot
**/
// To start a new PHP file, append phpDocs
/**
@khoipro
khoipro / wp-theme-standard.php
Last active August 26, 2023 04:50
Escape WordPress Sample PHP code
<?php
/** Sample escape output for WordPress theme
* @author codetot
* @package codeStandard
**/
?>
<?php // Simple escape html // ?>
<h2 class="product-card__title"><?php echo esc_html( $title ); ?></h2>
@khoipro
khoipro / functions.php
Created July 28, 2023 07:42
Fix Rankmath pro - product category schema
<?php
add_filter('rank_math/json_ld', 'codetot_product_rich_snippet_schema', 100);
/**
* Fix RankMath missing `AggregateRating` on product category schema
*
* @author codetot
*/
function codetot_product_rich_snippet_schema( $data ) {