• Как узнать какие страницы используют определенный шаблон WordPress?

    выводите циклом get_post_meta($post->ID,'_wp_page_template',true);
    что-то типа:
    $pg=get_pages(/*выборка*/);
    foreach($pg as $post){
    	setup_postdata($post);
    	$meta_v=get_post_meta($post->ID,'_wp_page_template',true);//если meta_v пустой или default - значит дефолт, в остальном укажет шаблон
    	echo $post->ID.' - '.get_the_title().' - '.$post->post_type.' - '.$meta_v.'<br>';
    }
    wp_reset_postdata();
  • Изменение цвета некоторых дивов на тот же что body.custom-background?

    Михаил Лебедев,
    разница на чьей стороне это менять? итог та должен быть один


    не очень хорошая позиция - если у клиента слабый пк и вы его одарите кучей ненужного скрипта и его комп не справится?

    пример в ответе...

    P.S. если уж хочется через скрипты можете передать через wp_localize_script в файл скрипта данные из базы и в скриптах менять цвет, либо добавить нужным элементам класс div_style(из ответа), если разметку не можете править - Вам решать
  • Изменение цвета некоторых дивов на тот же что body.custom-background?

    зачем js на стороне клиента, если эти данные в базе лежат?
    get_theme_mod('background_color');
    тырц

    610565fe4bd3d333319695.jpeg
  • Почему js и jquery не подключаются на других страницах?

    встречный вопрос - где у Вас функция wp_head()? она должна быть в тегах head (Именно в момент вызова wp_head функции срабатывает хук, который добавляет скрипты.)
  • Почему в кастомайзер не выводится меню?

    custom-background


    html`КА:
    ...
    
    <body <?php body_class();?>>
    ...


    Начиная с версии 3.4, темы должны использовать add_theme_support() в файле functions.php для поддержки пользовательских фонов, например:

    <?php
    ...
    
    //functions.php
    $defaults=array(
    	'default-color'=>'#fff',
    	'default-image'=>get_stylesheet_directory_uri(). '/background/background.jpg', //папка background в корневой папке темы
    	'default-repeat'=>'no-repeat',
    	'default-position-x'=>'center',
    	'default-position-y'=>'center',
    	'default-size'=>'cover',
    	'default-attachment'=>'fixed'
    	);
    add_theme_support('custom-background',$defaults);
    
    ...


    60e6e3fea536a728202265.png

  • Как вывести отдельные div из содержимого записи?

    Sergey750il, Пример на new WP_Query() + preg_match_all

    $output='';
    echo '<ol>';
    $mYarg=array('post_status'=>'publish','post_type'=>'post','posts_per_page'=>-1, /*'numberposts'=>-1*/);
    // $myposts=get_posts($mYarg);
    // foreach($myposts as $post){setup_postdata($post);
    	// echo '<li>'.get_the_title().'</li>';
    	// $output.=get_the_content();
    // }
    // wp_reset_postdata();
    
    $mYarg=new WP_Query($mYarg);
    	if($mYarg->have_posts()):
    		while($mYarg->have_posts()):$mYarg->the_post();
    			echo '<li>'.get_the_title().'</li>';
    			$output.=get_the_content();
    		endwhile;
    	endif;
    wp_reset_postdata();
    
    echo '</ol>';
    // var_dump($output);
    // preg_match_all('#<i class="temp">(.+?)</i>#is',$output,$tempL);
    preg_match_all('/\[VAB_selected_block_show[^\]](.+?)[\/VAB_selected_block_show[^\]]*]/uis',$output,$tempL);
    var_dump($tempL[0]);
    echo '<ol>';
    foreach($tempL[0] as $k){
    	echo '<li>'.do_shortcode($k).'</li>';
    }
    echo '</ol>';


    Разумеется Вам надо под себя все перебить

    Результат
    60b9a8456f675526470289.png


    пример preg_match_all не для шорткода

    $VABweather='<i class="temp">13.59</i>qweqweqweqwe<i class="deg"> &deg;C </i>qweqweqwewqeazxczx aqwe<i class="icon">cloud</i>zzxc waqw asd qwe qwe qe<i class="city">Нижняя Тавда</i>aqe213qweqwe23456436<i class="temp">22.59</i>';
    	preg_match_all('#<i class="temp">(.+?)</i>#is',$VABweather,$tempL);
    	preg_match_all('#<i class="deg">(.+?)</i>#is',$VABweather,$degL);
    	preg_match_all('#<i class="icon">(.+?)</i>#is',$VABweather,$iconL);
    	preg_match_all('#<i class="city">(.+?)</i>#is',$VABweather,$cityL);
    	
    	echo $tempL[1][0].'<br>';
    	echo $degL[1][0].'<br>';
    	echo $iconL[1][0].'<br>';
    	echo $cityL[1][0].'<br>';
    	var_dump($tempL[0]);


    Результат:

    60b9a895cc19a904729045.png

  • Как вывести отдельные div из содержимого записи?

    Sergey750il, ну вообще-то о шорткоде нам никто ничего не сказал. но в данном случае меняется только то, что в preg_match_all надо не селектор с классом в шаблоне искать, а шорткод, а затем они лягут все в массив, который Вы, снова таки, переберете, например, форычем. только выводим через echo '<li>'.do_shortcode($k).'</li>';
  • Где найти HTML файл в моей теме WP?

    название темы можете посмотреть вот так (по умолчанию открывается установленная тема)

    60b8f16281c63329694776.jpeg

    темы лежат в папке themes

    60b8efd8c8936358197758.jpeg

    все, что внутри папки twentytwentyone и есть тема
  • Как вывести отдельные div из содержимого записи?

    new WP_Query() + preg_match_all = array из содержимого этих блоков, который нужно будет через цикл вывести с нужной разметкой в нужном месте
  • Как обрезать картинку wordpress?

    «Путь самурая»
    з.ы.

    один из вариантов не думая о тонкостях: создаем холст нужного разрешения — заливаем нужным цветом — проверяем исходник по габаритам (если толстопуз, обрезаем) — накладываем по центру (математика в помощь) — сохраняем

  • Как создать текстовое поле с редактированием в админке WORDPRESS?

    плюс, если делать на виджетах, можно будет перетаскивать их куда угодно и в зависимости от описанного функционала виджета, либо на главной, либо один там, второй в другом месте, но с формой (т.е. как Вы и сказали в каждом виджете разный контент) ну и в таком духе...
  • Автоматическое обрезание картинок Wordpress при загрузке?

    phpneguru, Доброго времени суток. С плагинами я не очень (ибо не люблю их) - надо плагин изучить, да и их куча разных по одному названию лезет. А вообще, первое, что в голову пришло, я решил бы этот вопрос примерно так:
    Скопировал/импортировал нужное на голый сайт(на локальном сервере) или в какое-нибудь место и написал бы скрипт, который просто в папке включая под папки пролистает все и по аналогии выше обрежет. ну а далее остается скопировать с заменой.. что-то похожее на это
  • Какие задать стили CSS для попап?

    Какие задать стили CSS для попап?

    Не могу сообразить и понять
    — при чем тут тег «WordPress»?
  • Перенос сайта в мультисайт?

    Михаил Лебедев, ну так тут суть нормального переноса - Лорд Дантес писал ведь
    + sql + запросами сменить

    примерный алгоритм Вы знаете из Вашей статьи только немного надо порядок изменить:
    1. Выгружаете нужные таблицы Вашего одиночного сайта
    2. Создаете на мультисайте поддомен, смотрите какая цифра у него с префексом
    3. В папку аплоадс/сайт/цифра кидаете все с одиночного сайта по аналогии
    4. Копируете темы и плагины с одиночного сайта и разрешаете их в настройках сети
    5. Меняете в выгруженных таблицах префексы под ваш мульти
    6. Создаете сайт на локалке. Например опен сервер (копировать туда ничего не надо кроме Search-Replace-DB по ссылке выше)
    7. Создаете в PMA базу и Импротируете туда выгруженые таблицы с исправлеными префиксами
    8. Запускаете сайт на опенсервере типо http://moving.os/Search-Replace-DB-4.1.2
    9. Конектитесь к базе и меняете все, что необходимо
    spoiler
    60a3640775418453317969.png

    10. Выгружаете эти таблицы с созданой базы на опенсервере после замены нужного
    11. Удаляете эти таблицы на мультисайте
    12. Заливаете выгруженные таблицы с локального сайта на мульти
    13. Мелкие косметические правки, если, что-то упустили (админ мыла или еще, что-то)
    А вот, что у Вас с сылками в шаблонах темы, тут уж извините никто Вам не поможет...
  • Перенос сайта в мультисайт?

    Михаил Лебедев,
    как бы это все и сделано

    а верно ли?
    Открываем sql-файл в Notepad++ (обычный блокнот я не пробовал, там может быть проблема с кодировкой) и автозаменой заменяем:

    вы понимаете, что в базе много данных сериализованны. Вы тупо поменяли данные, а кто подсчитает и изменит длины этих данных?? иными словами:
    вы поменяли
    wp-content/uploads/ - 19 символов {... s:19:"wp-content/uploads/"; ...}
    на
    wp-content/uploads/sites/XX - 27 символов {... s:19:"wp-content/uploads/sites/XX"; ...}
    где {... s:19:"wp-content/uploads/sites/XX"; ...} - косяк
    должно быть {... s:27:"wp-content/uploads/sites/XX"; ...}
    ...
  • Ограничить число загрузок с сайта?

    aydaravezov,
    ссылка будет внешняя на гугл драйв

    вопрос не корректный. сегодня я авторизовался и скачал. завтра на 10 торент трекерах оформил раздачу.
    слабо отследить?

    она как минимум не должна существовать и раздаваться с вашего веб сервера
    spoiler

    if(!function_exists('file_force_download')){function file_force_download($file){if(file_exists($file)){if(ob_get_level()){ob_end_clean();}header('Content-Description:File Transfer');header('Content-Type:application/octet-stream');header('Content-Disposition:attachment;filename='.basename($file));header('Content-Transfer-Encoding:binary');header('Expires:0');header('Cache-Control:must-revalidate');header('Pragma:public');header('Content-Length:'.filesize($file));if($fd=fopen($file,'rb')){while(!feof($fd)){print fread($fd,1024);}fclose($fd);}exit;}}}

    .htaccess
    Require all denied
    используя код выше Вы можете сделать ограничения и вариантов можно придумать не мало...

    источник рабочий на 200% как для простого ограничения так и в плане платного формата


    з.ы. «вопрос не корректный» потому, что не развернутый...) временная опция ( set_transient() )на 3 суток с данными пользователя(
  • Как сделать мульти-авторский сайт на WordPress с личными кабинетами авторов и их отдельными страницами?

    1. Создайте новую роль
    2. Создаете новый тип записи(если надо и таксономии)
    3. Определяете для роли права:
    из консоли убираете все ненужное и разрешаете пользователю создавать посты в кастомном типе(можно через модерацию) с возможностью редактировать только свое(админу все права)
    4. Каждый новый зарегавшийся получает эту роль и видит в личном кабинете только то, что вы разрешили в 3 пункте
  • Почему в моб.версии меню при клике появляются все субменю?

    // css - .open_mobile_sub .menu-depth-0{display:block;}
    jQuery(this).toggleClass('open_mobile_sub');//то, что Вы пытаетесь сделать. только класс даем родителю
    
    //через тег a (ссылка), а не тег li (класс dropdown)
    jQuery(this).toggleClass('open_mobile_sub').next().slideToggle(); //fadeToggle()
    //open_mobile_sub - для стилизации открытого пункта
    //next().slideToggle() - будет открывать/закрывать
    //либо
    jQuery(this).next().toggleClass('open_mobile_sub'); 
    //open_mobile_sub - прописываем открытие в стилях
    //либо просто
    jQuery(this).next().slideToggle(); //fadeToggle()

    т.е. нужна конкретика клика по ссылке
    пример

    jQuery(document).ready(function() {
        jQuery('.dropdown a[href*="javascript"]:not([href*="http"])').click(function() {// :not([href*="http://"],[href*="https://"])
            jQuery(this).next().slideToggle(); 
        });
    });

    jQuery(this) - работаем только с той ссылкой, по которой кликнули.
    next() - следующий элемент за ссылкой, по которой нажали
    в Вашем случае это скрытый блок под меню <ul class="sub-menu menu-depth-0">
    <li id="menu-item-473" class="dropdown drop-8 menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-473">
    	<a href="javascript:void(0);">Одежда</a>
    	<ul class="sub-menu menu-depth-0">

    slideToggle() - слайдим его

    608bad89ed312633215826.png

    то, что Вы пытаетесь сделать
    jQuery(document).ready(function() {
        jQuery('.dropdown a[href*="javascript"]:not([href*="http"])').click(function() {// :not([href*="http://"],[href*="https://"])
            jQuery(this).next().toggleClass('open_mobile_sub'); 
        });
    });


    з.ы.
    Почему в моб.версии меню при клике появляются все субменю?

    потому, что обращаетесь ко всем сразу jQuery('.menu-depth-0 ')