Задать вопрос
  • Какое будущее у конструкторов wix или ucos?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Кури "целевая аудитория".
    Есть множество странных вещей, которые живут в мире, потому что они кем-то востребованы.
    Высоко и круто взлетают проекты/идеи, у которых целевая аудитория шире или богаче. Но это не значит что остальные должны вымереть. Достаточно иметь минимальное критическое количество потребителей, и продукт может жить вечно, невзирая на качество.
    Ответ написан
    Комментировать
  • Какое будущее у конструкторов wix или ucos?

    @LiguidCool
    Конструктор может решить только базовую задачу, под ТЗ его не загонишь.
    Ответ написан
    Комментировать
  • Привет, у меня есть проект, где нужно обеспечить потоковое видео?

    @Fixid
    NGINX + nginx-rtmp-module + HLS
    Ответ написан
    Комментировать
  • Как сделать рандомный вывод?

    @Wol_fi
    php, js, mysql, highload
    <?php $args = array(
    	'cat' => 4,
    	'orderby' => 'rand',
            'posts_per_page' => 1 // сколько вам нужно рандомных постов
    );
    $query = new WP_Query($args);
    ?>
     <?php if ($query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
                    <a href="<?php $custom_fields =get_post_custom(); ?>">
                      <?php the_post_thumbnail(); ?>
                      <div class="text">
                        <h2><?php the_title(''); ?></h2>
                        <p><?php the_content('',true); ?></p>
                      </div>
                    </a>
                  <?php endwhile; ?>
                  <?php endif; ?>
    Ответ написан
    Комментировать
  • Должен ли знать php-разработчик популярные CMS?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Хотите работать в местах где пишут на cms - учите cms.
    Вот и весь ответ.
    Ответ написан
    Комментировать
  • Статические свойства класса в PHP?

    edli007
    @edli007
    full stack, team lead
    Видно вы не работали с паттернами. Суть статики что такое свойство будет общим на все объекты данного класса.
    Прочтите о синглетоне, через пару дней, как разберетесь, все вопросы отпадут.
    Ответ написан
    Комментировать
  • На какую cms лучше перенести сайт с wordpress?

    @kstyle
    на тот, в котором нет аналогичных wp причин для разочарования
    Ответ написан
    1 комментарий
  • На какую cms лучше перенести сайт с wordpress?

    SabCoopers
    @SabCoopers
    Ну вообще было бы логично сообщить, в чём собственно разочарование. А вообще, скорее всего в других движках разочаруетесь ещё больше))
    Ответ написан
    3 комментария
  • Как изменить url страницы результатов поиска?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    function custom_search_redirect() {
    	global $wp_rewrite;
    	if (!isset($wp_rewrite) || !is_object($wp_rewrite) || !$wp_rewrite->using_permalinks()) {
    		return;
    	}
    	$search_base = $wp_rewrite->search_base;
    	if (is_search() && !is_admin() && strpos($_SERVER['REQUEST_URI'], "/{$search_base}/") === false) {
    		wp_redirect(home_url("/docs/api/" . urlencode(get_query_var('s'))));
    		exit();
    	}
    }
    add_action('template_redirect', 'custom_search_redirect');
    Ответ написан
    Комментировать
  • Не могу понять, почему не работает цикл wordpress?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    Если лень разбираться с иерархией шаблонов, коротко раскажу как сделать шаблон без этого. Для начала надо придумать какой будет структура шаблона, пускай это будет, как написано в комментариях это 2 различных типа данных + index.php:
    • Основной файл шаблона index.php
    • Статическая домашняя страница
    • Страница с циклом вывода всех записей блога


    и структура файлов в шаблоне будет такая:
    • /index.php
    • /template_parts/home_page.php
    • /template_parts/blog_archive.php
    • /template_parts/blog_single.php
    • /template_parts/main_header.php
    • /template_parts/main_footer.php

    index.php:
    get_template_part('template_parts/main', 'header');
    if ( is_front_page() || is_home() ){
    	    // Homepage - начальная статическая страница
    	    get_template_part('template_parts/home', 'page');
    } else {
    
    	if(get_post_type() == 'post' && is_archive() && !is_author()){
    		//Список всех записей блога (Blog Archive)
    		get_template_part('template_parts/blog', 'archive');
    	}
    	if(get_post_type() == 'post' && is_single()){
    		//Одиночная запись блога
    		get_template_part('template_parts/blog', 'single');
    	}
    
    	//Вариантов вывода может быть множество (смотри документацию):
    	if(is_page() && !is_search() && !is_page_template() && !is_404()){ }
    	if(get_post_type() == 'my_custom_post_type_name' && is_single()){ }
    	if(is_404()){ }
    	if(is_search()){ }
    	if (is_archive() && is_author()){ }
    	if(is_page_template('my_custom_template_name.php')) { }
    }
    get_template_part('template_parts/main', 'footer');


    blog_archive.php:
    if ( have_posts() ) : while ( have_posts() ) : the_post();
    	//В этом цикле выводим посты блога, например:
    	echo 'Заголовок: ' . get_the_title() . ', текст: ' . get_the_excerpt();
    endwhile; else:
    _e('Sorry, no posts matched your criteria.');
    endif;
    //Сбрасываем цикл, если будем запускать повторный цикл с другими параметрами на этой же странице:
    wp_reset_query();


    blog_single.php и home_page.php:
    while (have_posts()) : the_post();
    	//Выводим содержание поста:
    	the_content();
    endwhile;


    Один раз написав шаблон "с нуля" Вы будете знать как работает каждая строчка кода и проблем больше не будет.
    Ответ написан
    Комментировать
  • Как всё успевать и не быть роботом?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    > Минимум 8 часов, чтобы были деньги.

    Работать нужно не 8 часов, а головой.
    Ответ написан
    11 комментариев
  • WordPress. Загруженный файл не удалось переместить в wp-content/uploads. Как исправить?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    # /usr/share/wordpress - ваш путь к сайту
    sudo chown -R www-data:www-data /usr/share/wordpress


    Вероятно у вас на папке стоит пользователь root или какой то другой.
    Ответ написан
    Комментировать
  • Чем заменить Apache?

    @deliro
    Насколько я знаю, Nginx является веб-сервером для статики, то есть без апача не обойтись?

    Плохо знаете. nginx + uwsgi (или nginx + gunicorn) ставьте.
    По-английски, по-русски
    Ответ написан
    Комментировать
  • Как реализовать такой вывод подкатегорий в WP?

    VirmarY
    @VirmarY
    Можно использовать Walker для построения или задать echo=0 и вырезать ссылки из HTML регуляркой.
    Ответ написан
    Комментировать
  • Как программисты оценивают стоимость своей работы?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    как минимум в 10-20 раз окупит затраты на его работу

    Очень по русски, бизнесом заниматься не интересно если прибыль меньше 300% так?)
    Ответ написан
    5 комментариев
  • Почему не срабатывает transient api?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Учитесь читать код, вопросов такого плана не будет.

    function new_weather () {
    
        // Выдача из транзитного кэша
        $cached = get_transient( 'weather_cache' );
        if ( $cached !== false ) 
            return $cached;
    
        $result = simplexml_load_file( 'http://export.yandex.ru/weather-ng/forecasts/27612.xml' );
        $temperature = $result->fact->temperature;
        
        // Запись в транзитный кэш на 1 час
        set_transient( 'weather_cache', $temperature, 1 * HOUR_IN_SECONDS );
    
        return $temperature;
       
    }
    Ответ написан
  • Как сделать предпросмотр записи в WORDPRESS?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Бесплатных не встречал, за денежку на codecanyon.net как грязи, делается самостоятельно за пол часа с версткой.

    Простейший пример каждому посту в цикле добавляете #post-id, при клике на миниатюру смотрите его, отправляете аяксом обработчику, там получаете все, что надо для поста, выводите в модальном окне.

    Код для примеру

    $('.modal-post').click(function(){
            var data={
                action: 'modal_post_action',
                security : CrAjax.security,
                id: $(this).data('post')
            }
    
            $.post(CrAjax.ajaxurl, data, function(response) {
                $('#modal-2 .modal-content').html(response);
            });
        })


    Обработчик
    function modal_post_action_callback() {
            check_ajax_referer( 'cr-special-ajax', 'security' ); 
    
            $id = (int) $_POST['id']; 
                        $array = array(
                            'post_type' => 'collection',
                            'post__in' => array($id)
                        );
                        $query = new WP_Query($array); // можно через get_post();
                        global $withcomments;  // если хотите добавить  форму комментариев
                        $withcomments =1;  // для того же
                        while ( $query->have_posts() ) {
                            $query->the_post(); 
                             
    // тут цикл
    
            die(); 
        }
        add_action( 'wp_ajax_modal_post_action', 'modal_post_action_callback' );
        add_action( 'wp_ajax_nopriv_modal_post_action', 'modal_post_action_callback' );
    Ответ написан
    3 комментария
  • Как изменить ID категорий записей?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Не то пальто.
    ID сменить можно только в базе, Если через админку то делаете так.
    Дальше категория == термин
    1. Заводите новую категорию с таким же Именем.
    2. Добавляете в нее записи которые лежат в старой категории.
    3. Удаляете старую категорию
    4. Меняете слаг новой категории на слаг старой
    Ответ написан
    Комментировать
  • Какова роль интерфейсов в ООП?

    Приведу пример на коленке. Хотим, например, написать абстрактную файловую систему. Для начала, определим интерфейс, для ФС:

    interface FileSystemInterface {
      public function write($file, $data);
      public function read($file);
    }


    Затем, хочу реализацию интерфейса ФС для работы с файликами:

    class OSFileSystem implements FileSystemInterface {
      public function write($file, $data) {
         // открываем файлик, пишем данные
      }
    
      public function read($file) {
        // открываем файлик, возвращаем данные
      }
    }


    Вдруг, кому-то захотелось файловую систему в облаке. Окей, не проблема, реализуем это:
    class CloudFileSystem implements FileSystemInterface {
      public function write($file, $data) {
         // открываем соединение с облаком, пишем данные
      }
    
      public function read($file) {
        // открываем соединение с облаком, возвращаем данные
      }
    }

    Пусть у нас есть кой-то код, работающий с файловой системой, назовем его "Хранилище файлов". Пусть он выглядит примерно так:

    class FileStorage {
      protected $Fs;
      
      public function __construct(FileSystemInterface $Fs) {
        $this->Fs = $Fs;
      }  
    
      public function saveFile() {
        $this->Fs->write('file.txt', 'file data');
      }
    
      public function getFile() {
        return $this->Fs->read('file.txt', 'file data');
      }
    }


    Отлично! Теперь мы можем хранилищу файлов отдать любой объект с реализованным интерфейсом FileSystemInterface. Пример:

    // Хранилище файлов работает с файловой системой ОС:
    $FS = new OSFileSystem();
    $FileStorage = new FileStorage($Fs);
    $FileStorage->getFile();
    
    // Хранилище файлов работает с файловой системой в облаке:
    $FS = new CloudFileSystem();
    $FileStorage = new FileStorage($Fs);
    $FileStorage->getFile();


    Использование интерфейса, в данном случае. позволяет нам писать только реализацию работы файловой системы, а бизнес-логика, работающая с файловой системой никак не меняется, она знает, что в любом случае файловая система реализует интерфейс FileSystemInterface и может без опаски использовать методы этого интерфейса.
    Ответ написан
    14 комментариев
  • Монетизация (написания плагинов на Wordpress)?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Лучше ориентироваться сразу на импортных товарищей, на русском рынке оно не взлетит еще долго, сильно у нас халяву любят.
    Ответ написан
    Комментировать