Skip to content

Instantly share code, notes, and snippets.

View nawawi's full-sized avatar

Nawawi Jamili nawawi

View GitHub Profile
<?php
function export_object($value, string $indent = '')
{
switch (true) {
case \is_int($value) || \is_float($value): return var_export($value, true);
case [] === $value: return '[]';
case false === $value: return 'false';
case true === $value: return 'true';
case null === $value: return 'null';
@nawawi
nawawi / remove_orphan_post.sql
Last active September 26, 2022 07:48
MySQL trigger to remove wp orphan post
-- Replace wp_postmeta and wp_posts with your prefix table
CREATE TRIGGER `remove_orphan_post` AFTER DELETE ON `wp_posts`
FOR EACH ROW BEGIN IF ('post' = old.post_type) THEN
DELETE FROM wp_postmeta WHERE wp_postmeta.post_id = old.ID;
END IF; END
@nawawi
nawawi / docketcache_flush_every_hour.php
Last active December 26, 2024 11:26
docketcache_flush_every_hour
<?php
// Place this code in wp-content/mu-plugins/docketcache_flush_every_hour.php
add_action('docketcache/init', function($docket_cache_instance) {
$docket_cache = $docket_cache_instance;
add_action('docketcache_flush_every_hour', function() use($docket_cache) {
$result = $docket_cache->flush_cache(true);
$docket_cache->co()->lookup_set('occacheflushed', $result);
do_action('docketcache/action/flush/objectcache', $result);
});
#!/bin/bash
FIFO="/path-to-ss_cmd.txt";
LIST="$(sort -u $FIFO)";
for CMD in $LIST; do
$CMD
done
rm $FIFO;
<?php
// Exec
// call: do_action('ss_cmd', 'cmd1');
add_action('ss_cmd', function($cmd) {
switch($cmd) {
case 'cmd1':
return shell_exec('cmd1');
break;
case 'cmd2':
@nawawi
nawawi / PseudoCrypt.php
Last active March 1, 2023 00:43 — forked from ethanpil/gist:94455f8de76671aa9024
PseudoCrypt.php
<?php
/**
* Reference/source: http://stackoverflow.com/a/1464155/933782
*
* I want a short alphanumeric hash that’s unique and who’s sequence is difficult to deduce.
* I could run it out to md5 and trim the first n chars but that’s not going to be very unique.
* Storing a truncated checksum in a unique field means that the frequency of collisions will increase
* geometrically as the number of unique keys for a base 62 encoded integer approaches 62^n.
* I’d rather do it right than code myself a timebomb. So I came up with this.
*
<?php
add_action('plugins_loaded', function() {
if ( is_multisite() ) {
$sites = get_sites();
foreach ( $sites as $site ) {
switch_to_blog( $site->blog_id );
$old_siteurl = get_option('siteurl');
$old_homeurl = get_option('home');
$new_siteurl = str_replace('http://', 'https://', $old_siteurl);
/*
1) Open https://popcat.click
2) Open console (F12)
3) Insert code
*/
function run_pcat() {
var event = new KeyboardEvent( 'keydown', {
key: 'g',
ctrlKey: true
@nawawi
nawawi / pllstrings.php
Created June 1, 2021 14:29 — forked from davidwebca/pllstrings.php
Translate regular gettext and underscore functions with Polylang's strings
<?php
add_filter('gettext', function($translation, $text, $domain) {
if(is_admin()) {
return $translation;
}
if($domain == 'mythemedomain') {
if(function_exists('icl_register_string')){
$slug = sanitize_title($text);
icl_register_string($domain, $slug, $text);
@nawawi
nawawi / filter-comment-url-required.php
Created June 1, 2021 06:21
WordPress Comment Website Field required
<?php
add_filter( 'comment_form_defaults', function($defaults) {
$defaults[ 'fields' ][ 'url' ] = '<p class="comment-form-url"><label for="url">Website <span class="required">*</span></label> <input id="url" name="url" type="text" value="" size="30" maxlength="200" required="required" /></p>';\
return $defaults;
}, PHP_INT_MAX);