Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (10)
  • Как ускорить загрузку портала на wordpress?

    @niceandriyanov
    Если нагруженный сайт, то нужно пользоваться кэшем!
    Не нужно отлавливать самому ниче. Ставишь плагин Autoptimize, в нем включаешь расширенные настройки (в бесплатной версии). Потом ставишь плагин WP FAST CACHE
    Они в паре очень хорошо вытаскивают сайт. Так же настрой что при появлении поста, обновлялся кэш.
    Еще настрой автокэширование по времени. И будет тебе счастье.
    Ответ написан
    3 комментария
  • Почему не отображается Сниппет(рейтинг) Google?

    @niceandriyanov
    Сайт хотя бы дал) А так вот тебе инструмент для проверки правильности разметки, может есть какие то ошибки
    Ответ написан
    6 комментариев
  • Wordpress | Не работает update_user_meta. Где ошибка?

    @niceandriyanov
    Привет. Чтобы заработало, нужно подключить в файле usermeta-update.php опции движка, т.е. в начало файла usermeta-update.php нужно поместить
    require($_SERVER[‘DOCUMENT_ROOT’].’/wp-load.php’);

    Но можно круче сделать) Ajax отправку формы... Делов на 10 минут...
    1. Убираем action из формы
    2. В function.php внизу пишем:
    add_action('wp_ajax_custom_update_usermeta', 'custom_update_usermeta');
    add_action('wp_ajax_nopriv_custom_update_usermeta', 'custom_update_usermeta');
    function custom_update_usermeta(){
    	$data[0] = 'success';
    	$current_user = wp_get_current_user();
    	if (isset($_POST['qiwi_wallet'])) {
    		update_user_meta($current_user->ID, 'qiwi_wallet', $_POST['qiwi_wallet']);
    	}else{
    		$data[0] = 'Пусто в qiwi_wallet';
    	}
    	if (isset($_POST['webmoney_wallet'])) {
    		update_user_meta($current_user->ID, 'webmoney_wallet', $_POST['webmoney_wallet']);
    	}else{
    		$data[1] = 'Пусто в webmoney_wallet';
    	}
    	die(json_encode($data[0]));
    }


    3. В любом файле js:
    jQuery(document).ready(function($){
    	$('#dashboard-profile-form').on('submit',function(event){
    		event.preventDefault();
    		$.ajax({
    			url: "/wp-admin/admin-ajax.php",
    			type: "POST",
    			data: "action=custom_update_usermeta&"+$('#formReviews').serialize(),
    			success: function(res){
    				var data = JSON.parse(res.toString());
    				if(data[0] == 'success'){
    					alert('Успешно');
    				}else{
    					alert(data);
    				}
    			},
    			error: function(){
    				alert('Упс, не нашли функцию обработки');
    			}
    		});
    	});
    });

    P.S. Если работают какие либо плагины кэширования, то не забудь скинуть кэш, иначе не будет скрипта
    Ответ написан
    Комментировать
  • Как выполнить функцию php ajax'ом?

    @niceandriyanov
    Ну вы вообще ребята! Все можно сделать если знаешь как) Сразу видно frontend разработчики советуют...
    Смотри, так или иначе ты все равно обращаешься к файлу, этот файл должен каким либо образом знать о данной функции. Иначе как я делаю, создаю файл, например: gensite.php. Файл содержит следующее:
    function search_city(){
    		print_r('1111');
    	}
    	
    	if(!empty($_REQUEST)){
    		if(function_exists($_REQUEST['action'])){
    			call_user_func($_REQUEST['action']);
    		}
    		die();
    	}

    Ну, только осталось в data при вызове ajax (post) добавить еще один параметр: action=search_city.
    То есть функция call_user_func спасет тебя.
    Если название функции передается в textarea то просто придумай сепаратор для них и вызывай action=$('#area').val()
    тут тогда explode('separator',$_REQUEST['action']) и циклом проверяешь сначала на существование такой функции потом уже вызов функции... Все просто)))
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (3)