Пишу сайты для Людей. Не быстро. Дорого. Качественно.
Контакты
Местоположение
Россия, Москва и Московская обл., Дубна

Достижения

Все достижения (3)

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

Все теги (25)

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

Все ответы (184)
  • Возьмут ли школьника на удаленную работу?

    san_jorich
    @san_jorich
    Творческий кодер
    "Дорогу осилит идущий" (с)Не помню кто.
    Потянет ли школьник объемы в срок и неговнокодом?
    Ответ написан
  • Какой использовать плагин для счетчика кликов / заказов на wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Можно написать самостоятельно Примерно строк 10-15 и все заработает.
    1)Регистрируйте настройку "Количество заков"
    2)Подключаете jQuery скрипт который при клике на кнопь ajax-ом командует php увиличить переменную опции на 1
    3) Шоткодом выводите в нужное место шаблона результат
    4) Наслаждаетесь результатом
    Ответ написан
  • Как скрыть незаполненные поля ACF в Wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Генерируйте таблицу php циклом по $croup. Когда поле не пустое - выводим
    if(!empty($croup)){echo '<tr class="table__row"> и т д';}
    Ответ написан
  • Что с ajax post запросом в Wordpress?

    san_jorich
    @san_jorich Автор вопроса
    Творческий кодер
    По итогам бессоной ночи:
    1) Wordpress требует локализации вашего скрипта. Его нужно "подружить" с admin-ajax.php
    wp_register_script('js_function_id', plugins_url('functions_js/js_function.js', __FILE__));
    wp_enqueue_script('js_function_id');
    wp_localize_script( 'js_function_id', 'ajaxurl', admin_url( 'admin-ajax.php' ) );

    2) На сколько я понял в Wordpress не нужно декодировать json. Во всяком случае у меня в php-обработке сработало просто присвоение POST переменной
    $my_var = $_POST['my_var'] // без всяких json_decode, stripslashes и т.д.

    3) Следите за выходным массивом. За его сбором - здесь тоже "уходит внимание". Если вы пишите одномерный массив то array_push(array, value) вполне подойдет. Но если выходит многомерная хрень с кучей ассоциативных данных (как было у меня) то с array_push в js приходят NULL. Я сформировал массив иначе:
    $data = ['surname' => $surname, 'name' => $name, 'patronymic' => $patronymic]; // и так далее

    4) Word_сука_press игнорирует echo json_decode($data); Для отправки ответа существут
    wp_send_json($data);
    И еще.. не забывайте про wp_die();

    Надеюсь мои грабли будут для кого-то полезными, чтобы не наступать на них вновь )
    Ответ написан
  • Пробую создать плагин, как сохранять данные с страницы настроек?

    san_jorich
    @san_jorich
    Творческий кодер
    Почитайте Блог Миши, или Каму. Если не получиься самостоятельно пишите "манипуляции".
    А вообще add_option get_option update_option итд.
    Бонус )
    <?php
    /*
    Plugin Name: My_Word
    Plugin URI: https://toster.ru/q/572856
    Description: Плагин делает всякие извращения с этим словом и выводит результат в нужном месте с помощью шорткода
    Version: 1.0
    Author: Александр Соболев
    Author URI: http://vk.com/san_jorich
    License: GPL2
    */
    /*  Copyright 2018  SOBOLEV_ALEKSANDER  (email : samigrai@mail.ru) */
    
    function mw_options() {
      global $mw_page;
      add_options_page( 'My Word Options', 'My Word Options', 'manage_options', $mw_page, 'mw_option_page');  
    }
    add_action('admin_menu', 'mw_options');
    
    function mw_option_page(){
      global $mw_page;
      ?><div class="wrap">
        <h2>My Word Option's Page</h2>
        <form method="post" enctype="multipart/form-data" action="options.php">
          <?php 
          settings_fields('mw_options'); 
          do_settings_sections($mw_page);
          ?>
          <p class="submit"><input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" /></p>
        </form>
      </div><?php
    }
     
    function mw_option_settings() {
      global $mw_page;	
      register_setting( 'mw_options', 'mw_options', 'mw_validate_settings' ); 	
      add_settings_section( 'mw_section', 'Основные настройки', '', $mw_page ); 	
      $mw_field_params = array(
        'type'      => 'text',
        'id'        => 'my_word',
        'desc'      => 'Слово для манипуляций.', 
        'label_for' => 'my_word' 
      );
      add_settings_field( 'my_text_field', 'Слово', 'mw_option_display_settings', $mw_page, 'mw_section', $mw_field_params ); 
    }
    add_action( 'admin_init', 'mw_option_settings' );
     
    function mw_option_display_settings($args) {
      extract( $args ); 
      $option_name = 'mw_options'; 
      $o = get_option( $option_name ); 
      switch ( $type ) {  
        case 'text':  
          $o[$id] = esc_attr( stripslashes($o[$id]) );
          echo "<input class='regular-text' type='text' id='$id' name='" . $option_name . "[$id]' value='$o[$id]' />";  
          echo ($desc != '') ? "<br /><span class='description'>$desc</span>" : "";  
        break;
    
      }
    }
     
    function mw_validate_settings($input){foreach($input as $k => $v) {$valid_input[$k] = trim($v);} return $valid_input;}
    
    function view_manipulations(){
    $mw_option = get_option('mw_options'); $result_div='<div id="mw_option">'.$mw_option['my_word'].'</div>';return $result_div;}
    add_shortcode( 'mw_option', 'view_manipulations' );
    ?>
    Ответ написан

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

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