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 / functions.php
Created April 22, 2025 10:27
disable indexation of feed - in a SEO friendly matter
// Disable RSS Feeds
function disable_rss_feeds() {
status_header( 410 ); // 410 Gone
nocache_headers();
header( 'X-Robots-Tag: noindex, nofollow', true );
header( 'Content-Type: text/html; charset=utf-8' );
echo wp_kses_post(
__( 'Acest feed nu mai este disponibil. Vizitează <a href="' . esc_url( home_url( '/' ) ) . '">pagina principală</a>.' )
@rwkyyy
rwkyyy / functions.php
Created February 24, 2025 15:02
Afișare Denumire Locker Sameday în Mail
<?php
//Helper first
function getLockerNameSameday( $locker_id ) {
if ( empty( $locker_id ) ) {
return 'Locker necunoscut';
}
if ( class_exists( 'SamedayCourierQueryDb' ) ) {
// Determine if it's a test environment
@rwkyyy
rwkyyy / functions.php
Created June 21, 2024 12:10
Display stock availability for unmanaged stock in WooCommerce - Admin - Products listing.
// Add custom column to the products admin list
add_filter( 'manage_edit-product_columns', 'add_custom_stock_status_column' );
function add_custom_stock_status_column( $columns ) {
$new_columns = array();
foreach ( $columns as $key => $value ) {
$new_columns[ $key ] = $value;
if ( $key === 'sku' ) { // Move after SKU column
$new_columns['custom_stock_status'] = 'Disponibilitate';
@rwkyyy
rwkyyy / function.php
Created April 26, 2024 15:07
Translate each given string in any language, while importing, with WP All Import (via Google Translate) - path should be wp-content/uploads/wpallimport/functions.php
function translate_field_with_google($text, $target_language = 'ro') {
//usage
// [translate_field_with_google({title[1]}, "ro")] where title[1] is the string, and "ro" is the lang.
if (!empty($text)) {
$api_key = 'YOUR_GOOGLE_TRANSLATE_KEY_HERE';
$url = 'https://translation.googleapis.com/language/translate/v2?key=' . $api_key;
$data = array('q' => $text, 'target' => $target_language);
$options = array(
'http' => array(
@rwkyyy
rwkyyy / functions.php
Created February 26, 2024 19:09
ascunde alte metode când e transport gratuit + lasă sameday (și ridicare locală)
function hide_shipping_when_free_is_available( $rates, $package ) {
$new_rates = array();
$free_shipping_available = false;
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$new_rates[ $rate_id ] = $rate;
$free_shipping_available = true;
}
}
@rwkyyy
rwkyyy / file.csv
Created January 10, 2024 11:42
WooCommerce VAT TAX configuration for EU countries
Cod țară Cod județ Cod poștal Localitate Cotă % Nume taxă Prioritate Compusă Livrare Clasă de impozitare
AT 20.0000 TVA 1 0 1
BE 21.0000 TVA 1 0 1
BG 20.0000 TVA 1 0 1
CY 19.0000 TVA 1 0 1
CZ 21.0000 TVA 1 0 1
DE 19.0000 TVA 1 0 1
DK 25.0000 TVA 1 0 1
EE 20.0000 TVA 1 0 1
ES 21.0000 TVA 1 0 1
@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 );
@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
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
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;
}