Tuesday, 21 December 2021

Prevent to excute second time ajax

 




 var timeout;
        jQuery("body").delegate('input[type = text]', 'keypress', function() {
            if (timeout) {
                clearTimeout(timeout);
                timeout = null;
            }

            timeout = setTimeout(myFunction, 2000);
        });

        function myFunction() {
            console.log('myFunction'); // Add your ajax call here
        }




Thursday, 9 December 2021

Add Image in Post category








<?php


//Add image field in taxonomy page
add_action('client_gallery_add_form_fields', 'add_custom_taxonomy_image', 10, 2);
function add_custom_taxonomy_image($taxonomy)
{
?>
    <div class="form-field term-group">

        <label for="image_id"><?php _e('Image', 'taxt-domain'); ?></label>
        <input type="hidden" id="image_id" name="image_id" class="custom_media_url" value="">

        <div id="image_wrapper"></div>

        <p>
            <input type="button" class="button button-secondary taxonomy_media_button" id="taxonomy_media_button" name="taxonomy_media_button" value="<?php _e('Add Image', 'taxt-domain'); ?>">
            <input type="button" class="button button-secondary taxonomy_media_remove" id="taxonomy_media_remove" name="taxonomy_media_remove" value="<?php _e('Remove Image', 'taxt-domain'); ?>">
        </p>

    </div>
<?php
}

//Save the taxonomy image field
add_action('created_client_gallery', 'save_custom_taxonomy_image', 10, 2);
function save_custom_taxonomy_image($term_id, $tt_id)
{
    if (isset($_POST['image_id']) && '' !== $_POST['image_id']) {
        $image = $_POST['image_id'];
        add_term_meta($term_id, 'category_image_id', $image, true);
    }

    if (isset($_POST['image_id']) && '' !== $_POST['image_id']) {
        $image = $_POST['image_id'];
        update_term_meta($term_id, 'image_id', $image);
    } else {
        update_term_meta($term_id, 'image_id', '');
    }
}

//Add the image field in edit form page
add_action('client_gallery_edit_form_fields', 'update_custom_taxonomy_image', 10, 2);
function update_custom_taxonomy_image($term, $taxonomy)
{ ?>
    <tr class="form-field term-group-wrap">
        <th scope="row">
            <label for="image_id"><?php _e('Image', 'taxt-domain'); ?></label>
        </th>
        <td>

            <?php $image_id = get_term_meta($term->term_id, 'image_id', true); ?>
            <input type="hidden" id="image_id" name="image_id" value="<?php echo $image_id; ?>">

            <div id="image_wrapper">
                <?php if ($image_id) { ?>
                    <?php echo wp_get_attachment_image($image_id, 'thumbnail'); ?>
                <?php } ?>

            </div>

            <p>
                <input type="button" class="button button-secondary taxonomy_media_button" id="taxonomy_media_button" name="taxonomy_media_button" value="<?php _e('Add Image', 'taxt-domain'); ?>">
                <input type="button" class="button button-secondary taxonomy_media_remove" id="taxonomy_media_remove" name="taxonomy_media_remove" value="<?php _e('Remove Image', 'taxt-domain'); ?>">
            </p>

            </div>
        </td>
    </tr>
<?php
}

//Update the taxonomy image field
add_action('edited_client_gallery', 'updated_custom_taxonomy_image', 10, 2);
function updated_custom_taxonomy_image($term_id, $tt_id)
{
    if (isset($_POST['image_id']) && '' !== $_POST['image_id']) {
        $image = $_POST['image_id'];
        update_term_meta($term_id, 'image_id', $image);
    } else {
        update_term_meta($term_id, 'image_id', '');
    }
}

//Enqueue the wp_media library
add_action('admin_enqueue_scripts', 'custom_taxonomy_load_media');
function custom_taxonomy_load_media()
{
    if (!isset($_GET['taxonomy']) || $_GET['taxonomy'] != 'client_gallery') {
        return;
    }
    wp_enqueue_media();
}

//Custom script
add_action('admin_footer', 'add_custom_taxonomy_script');
function add_custom_taxonomy_script()
{
    if (!isset($_GET['taxonomy']) || $_GET['taxonomy'] != 'client_gallery') {
        return;
    }
?>
    <script>
        jQuery(document).ready(function($) {
            function taxonomy_media_upload(button_class) {
                var custom_media = true,
                    original_attachment = wp.media.editor.send.attachment;
                $('body').on('click', button_class, function(e) {
                    var button_id = '#' + $(this).attr('id');
                    var send_attachment = wp.media.editor.send.attachment;
                    var button = $(button_id);
                    custom_media = true;
                    wp.media.editor.send.attachment = function(props, attachment) {
                        if (custom_media) {
                            $('#image_id').val(attachment.id);
                            $('#image_wrapper').html('<img class="custom_media_image" src="" style="margin:0;padding:0;max-height:100px;float:none;" />');
                            $('#image_wrapper .custom_media_image').attr('src', attachment.url).css('display', 'block');
                        } else {
                            return original_attachment.apply(button_id, [props, attachment]);
                        }
                    }
                    wp.media.editor.open(button);
                    return false;
                });
            }
            taxonomy_media_upload('.taxonomy_media_button.button');
            $('body').on('click', '.taxonomy_media_remove', function() {
                $('#image_id').val('');
                $('#image_wrapper').html('<img class="custom_media_image" src="" style="margin:0;padding:0;max-height:100px;float:none;" />');
            });

            $(document).ajaxComplete(function(event, xhr, settings) {
                var queryStringArr = settings.data.split('&');
                if ($.inArray('action=add-tag', queryStringArr) !== -1) {
                    var xml = xhr.responseXML;
                    $response = $(xml).find('term_id').text();
                    if ($response != "") {
                        $('#image_wrapper').html('');
                    }
                }
            });
        });
    </script>
<?php
}

//Add new column heading
add_filter('manage_edit-client_gallery_columns', 'display_custom_taxonomy_image_column_heading');
function display_custom_taxonomy_image_column_heading($columns)
{
    $columns['category_image'] = __('Image', 'taxt-domain');
    return $columns;
}

//Display new columns values
add_action('manage_client_gallery_custom_column', 'display_custom_taxonomy_image_column_value', 10, 3);
function display_custom_taxonomy_image_column_value($columns, $column, $id)
{
    if ('category_image' == $column) {
        $image_id = esc_html(get_term_meta($id, 'image_id', true));

        $columns = wp_get_attachment_image($image_id, array('50', '50'));
    }
    return $columns;
}