Wednesday 20 March 2024

Create wordpress admin user using wp query

 INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, 

`user_status`)

 VALUES ('admin999', MD5('password999'), 'firstname lastname', 'email@example.com', '0');

 

 INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 

 VALUES (NULL, (Select max(id) FROM wp_users), 

 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

 

 INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) 

 VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');

Wednesday 21 February 2024

Video play and end point redirec to other URL

    jQuery('.playaudio').on('click',function(){

   //alert('onclick');
 if (localStorage.getItem("hasCodeRunBefore1") === null) {

   jQuery('#myModal').show();

         document.getElementById("video1").play();

        localStorage.setItem("hasCodeRunBefore1", true);

   

           video = document.getElementById('video1');

            video.addEventListener('ended',function() {   

            window.location.href = 'https://americanalliance.dgquick.in/guest/welcome.php';});

    }

   });

Monday 27 November 2023

Shipping option update on cart and checkout page using ajax

 


add_action( 'wp_footer', 'refresh_shipping_js' );

function refresh_shipping_js() {

    // Only on checkout

    if( is_checkout() && ! is_wc_endpoint_url() ):

    ?>

    <script type="text/javascript">

    jQuery( function($){

        if (typeof wc_checkout_params === 'undefined') 

            return false;


        var refresh = 'yes';


        $.ajax({

            type: "POST",

            url: wc_checkout_params.ajax_url,

            data: ({

                'action': 'updating_shipping',

                'refresh_shipping': refresh,


            }),

            success: function(response) {

                if( response === '1' ) {

                    $(document.body).trigger('update_checkout');

                    console.log('Success: '+response); // For testing (to be removed)

                } else {

                    console.log('Failled: '+response); // For testing (to be removed)

                }

            },

            error:function(error) {

                console.log('Error: '+error); // For testing (to be removed)

            }

        });

    });

    </script>

    <?php

    endif;

}


// function that gets the Ajax data

add_action( 'wp_ajax_updating_shipping', 'updating_shipping' );

add_action( 'wp_ajax_nopriv_updating_shipping', 'updating_shipping' );

function updating_shipping() {

    if ( isset($_POST['refresh_shipping']) && $_POST['refresh_shipping'] === 'yes' ){

        WC()->session->set('refresh_shipping', '1' );

    } else {

        WC()->session->set('refresh_shipping', '0' );

    }

    echo  WC()->session->get('refresh_shipping');

    die(); // Alway at the end (to avoid server error 500)

}


// Function that refresh session shipping methods data

add_action( 'woocommerce_checkout_update_order_review', 'refresh_shipping_methods', 10, 1 );

function refresh_shipping_methods( $post_data ){

    if ( WC()->session->get('refresh_shipping' ) === '1' ) {

        foreach ( WC()->cart->get_shipping_packages() as $package_key => $package ){

            WC()->session->set( 'shipping_for_package_' . $package_key, false );

        }

        WC()->cart->calculate_shipping();

    }

}

Thursday 14 September 2023

How to skip file when you update the wordpress plugin

function disable_plugin_updates( $value ) {

      if ( isset($value) && is_object($value) ) {

        if ( isset( $value->response['woocommerce/woocommerce.php'] ) ) {

          //unset( $value->response['woocommerce/woocommerce.php'] );

          unset( $value->response['woocommerce/templates/emails/email-order-items.php'] );

        }

      }

      return $value;

    }

    add_filter( 'site_transient_update_plugins', 'disable_plugin_updates' ); 

Sunday 30 July 2023

Backup and Restore MySQL database in PHP

 Script to backup using Php


<?php
define("BACKUP_PATH", "/home/abdul/");

$server_name   = "localhost";
$username      = "root";
$password      = "root";
$database_name = "world_copy";
$date_string   = date("Ymd");

$cmd = "mysqldump --routines -h {$server_name} -u {$username} -p{$password} {$database_name} > " . BACKUP_PATH . "{$date_string}_{$database_name}.sql";

exec($cmd);
?>

Script to restore

<?php

$restore_file  = "/home/abdul/20140306_world_copy.sql";
$server_name   = "localhost";
$username      = "root";
$password      = "root";
$database_name = "test_world_copy";

$cmd = "mysql -h {$server_name} -u {$username} -p{$password} {$database_name} < $restore_file";
exec($cmd);

?>

Wednesday 19 April 2023

Product gallery slider wordpress without plugin on single product page.

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.7.0/flexslider.css">

<?php


global $product;


$columns           = apply_filters( 'woocommerce_product_thumbnails_columns', 4 );

$post_thumbnail_id = $product->get_image_id();

$wrapper_classes   = apply_filters(

    'woocommerce_single_product_image_gallery_classes',

    array(

        'woocommerce-product-gallery',

        'woocommerce-product-gallery--' . ( $post_thumbnail_id ? 'with-images' : 'without-images' ),

        'woocommerce-product-gallery--columns-' . absint( $columns ),

        'images',

    )

);


$attachment_ids = $product->get_gallery_image_ids();


if ( $attachment_ids && $product->get_image_id() ) { ?>

        <div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" style="opacity: 0; transition: opacity .25s ease-in-out;">

            <figure>

                <section class="slider">

                    <div id="slider" class="flexslider">

                        <ul class="slides">

                            <?php 

                            foreach ( $attachment_ids as $attachment_id ) {

                                $image_url = wp_get_attachment_url($attachment_id);

                            ?>

                                <li data-thumb="<?php echo $image_url; ?>">

                                    <img src="<?php echo $image_url; ?>" />

                                </li>

                            <?php } ?>

                        </ul>

                    </div>

                </section>

            </figure>

        </div>

<?php } ?>

<script src="https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.7.0/jquery.flexslider.js"></script>

<script type="text/javascript">

    jQuery(window).load(function(){

        jQuery('.flexslider').flexslider({

        animation: "slide",

        controlNav: "none",

        start: function(slider){

            jQuery('body').removeClass('loading');

        }

    });

    });

</script>

Friday 31 March 2023

Reviews Tab always show on single product page.

     $args = array(

        'post_type'      => 'product',

        'posts_per_page' => -1

    );


    $loop = new WP_Query( $args );


    while ( $loop->have_posts() ) : $loop->the_post();

              global $product;

$product->set_reviews_allowed( 'yes' );

$product->save();

    endwhile;


    wp_reset_query();

Wednesday 29 March 2023

Update Custom Cart Count (or any HTML) after AJAX Add to Cart in WooCommerce

 

Template Code

Let’s say you’ve added an element in your header that displays the total cart count, like so:

<div class="header-cart-count"><?php echo WC()->cart->get_cart_contents_count(); ?></div>


add_filter( 'woocommerce_add_to_cart_fragments', 'iconic_cart_count_fragments', 10, 1 );

function iconic_cart_count_fragments( $fragments ) {
    
    $fragments['div.header-cart-count'] = '<div class="header-cart-count">' . WC()->cart->get_cart_contents_count() . '</div>';
    
    return $fragments;
    
}

Saturday 4 February 2023

Create Elementor duplicate pages with different name .

  $csvdata = csv_to_array('../city.csv');

foreach($csvdata as $key=>$csvrow){

if($key==1){

$postidd = get_post(13); 

$frontend = new \Elementor\Frontend();

$pagecontentorg = $frontend->get_builder_content_for_display( 13, $with_css = true );

//apply_filters('the_content', $postidd->post_content); 

$pagecontent = str_replace("problèmes",$csvrow['city'],$pagecontentorg); 

  $post_details = array(

  'post_title'    => 'testing page 5',

  'post_content'  =>$pagecontent,

  'post_status'   => 'publish',

  'post_author'   => 1,

  'post_type' => 'page',

  'page_template'  => 'elementor_header_footer'

   );

   wp_insert_post( $post_details );

/*echo '<pre>';

print_r($csvrow['city']);

echo '</pre>';*/

}

Friday 3 February 2023

Create duplicate pages with different name .

 $postidd = get_post(2457); 

$pagecontent = apply_filters('the_content', $postidd->post_content); 


  /*$post_details = array(

  'post_title'    => 'manjeet page',

  'post_content'  => $pagecontent,

  'post_status'   => 'publish',

  'post_author'   => 1,

  'post_type' => 'page'

   );

   wp_insert_post( $post_details );*/


function csv_to_array($filename='', $delimiter=',')

{

    if(!file_exists($filename) || !is_readable($filename))

        return FALSE;


    $header = NULL;

    $data = array();

    if (($handle = fopen($filename, 'r')) !== FALSE)

    {

        while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)

        {

            if(!$header)

                $header = $row;

            else

                $data[] = array_combine($header, $row);

        }

        fclose($handle);

    }

    return $data;

}


$csvdata = csv_to_array('../city.csv');

foreach($csvdata as $csvrow){

echo '<pre>';

print_r($csvrow['city']);

echo '</pre>';

}