Skip to content

Instantly share code, notes, and snippets.

View rwkyyy's full-sized avatar
🏠
Working from home

Eduard “RwkY” Doloc rwkyyy

🏠
Working from home
View GitHub Profile
@rwkyyy
rwkyyy / run.sql
Created April 29, 2022 12:45
WP migrate url old to new via SQL
UPDATE wp_options SET option_value = replace(option_value, 'oldurl.com', 'newurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'oldurl.com','newurl.com');
UPDATE wp_posts SET post_content = replace(post_content, 'oldurl.com', 'newurl.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'oldurl.com','newurl.com');
@rwkyyy
rwkyyy / run.sql
Last active May 17, 2022 07:08
Clean WooCommerce order/product tables
/*Order*/
DELETE FROM wp_woocommerce_order_itemmeta;
DELETE FROM wp_woocommerce_order_items;
DELETE FROM wp_comments WHERE comment_type = 'order_note';
DELETE FROM wp_postmeta WHERE post_id IN ( SELECT ID FROM wp_posts WHERE post_type = 'shop_order' );
DELETE FROM wp_posts WHERE post_type = 'shop_order';
/*Products*/
DELETE FROM wp_postmeta WHERE post_id IN ( SELECT ID FROM wp_posts WHERE post_type IN ( 'product', 'product_variation' ));
DELETE FROM wp_posts WHERE post_type IN ( 'product', 'product_variation' );
@rwkyyy
rwkyyy / functions.php
Last active May 30, 2022 09:13
DEAD simple breadcrumb PHP function with Polylang
//breadcrumbs
function get_breadcrumb() {
//default link (home
echo '<a href="' . home_url() . '" rel="nofollow">Home</a>';
//polylang conditional, you can remove this if you do not need
if (pll_current_language() == 'ro') {
echo '<a href="' . home_url() . '" rel="nofollow">Acasă</a>';
} else if (pll_current_language() == 'en') {
@rwkyyy
rwkyyy / functions.php
Created June 17, 2022 10:01
DEAD SIMPLE cookie notice (WordPress function)
add_action('wp_footer', 'add_cookie_notice_function');
function add_cookie_notice_function(){
$url = get_privacy_policy_url();
$link = '';
if (get_privacy_policy_url() != ''){
$link = '<a style="font-size: small; text-align: right" rel="nofollow" href="' . $url . '">Detalii</a>';
}
echo '<p id="cookie-notice">Lorem ipsum sil dolor. <br><button onclick="acceptCookie();">OK</button> ' . $link. ' </p>';
echo '<script>function acceptCookie(){document.cookie="cookieaccepted=1; expires=Thu, 18 Dec 2030 12:00:00 UTC; path=/",document.getElementById("cookie-notice").style.visibility="hidden"}document.cookie.indexOf("cookieaccepted")<0&&(document.getElementById("cookie-notice").style.visibility="visible");</script>';
@rwkyyy
rwkyyy / functions.php
Created December 13, 2022 14:05
order notes existance indicator in listing - woocommerce
function rwk_order_notes_column( $columns ) {
$ordered_columns = array();
foreach ( $columns as $key => $column ) {
$ordered_columns[ $key ] = $column;
if ( 'order_date' == $key ) {
$ordered_columns['order_notes'] = __( 'Order notes', 'woocommerce' );
}
}
@rwkyyy
rwkyyy / functions.php
Created October 11, 2023 11:36
remove woocommerce tabs and add them into separate individual sections
<?php
// Asuming you have a default setup
// we remove the default tabs
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
// alternative (depending on setup):
// add_filter( 'woocommerce_product_tabs', 'my_remove_all_product_tabs', 98 );
// function my_remove_all_product_tabs( $tabs ) {
@rwkyyy
rwkyyy / functions.php
Last active November 23, 2023 12:15
Remove cash on delivery if any product in cart is on backorder - WooCommerce
function remove_cod_if_backorder( $available_gateways ) {
if ( !is_array( $available_gateways ) ) return;
foreach ( WC()->cart->get_cart() as $cart_item ) {
$product = $cart_item['data'];
if ( $product && $product->is_on_backorder( $cart_item['quantity'] ) ) {
unset( $available_gateways['cod'] );
break;
}
@rwkyyy
rwkyyy / functions.php
Created November 24, 2023 11:08
Command to clean empty images (undefined) from products gallery (WooCommerce) after they have been removed from media library
// needs to be run via cli with:
// wp cleanup-all-galleries
if (defined('WP_CLI') && WP_CLI) {
class Cleanup_All_Product_Galleries_Command {
public function __invoke($args, $assoc_args) {
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
'fields' => 'ids',
);
@rwkyyy
rwkyyy / functions.php
Created November 24, 2023 18:48
Convert variation to single product (overwrite parent) - via WP CLI - WooCommerce
if (defined('WP_CLI') && WP_CLI) {
function convert_to_simple_products() {
$args = [
'status' => 'publish',
'limit' => -1,
'type' => 'variable',
];
$products = wc_get_products($args);
@rwkyyy
rwkyyy / functions.php
Last active November 25, 2023 15:54
allow sensei LMS users to re-purchase courses (re-take them)
// fix repurchase courses
function custom_remove_sensei_course_restriction() {
remove_action( 'woocommerce_add_to_cart', ['Sensei_WC', 'do_not_add_course_to_cart_if_user_taking_course'], 10 );
}
add_action( 'init', 'custom_remove_sensei_course_restriction', 30 );