• Как сохранить массив в option через form?

    очень интересный подход, особенно, если учесть, что у Вас нет обязательного поля wp_nonce_field без, которого поидеи ничего работать не должно.
    Как сохранить в опцию serviceBlock массив со всеми тремя(или более если будет) value селектов?
    есть вариант актуальный для всех форм (будь это простая форма или кастомайзер или ещё не пойми что) и называется он атрибут name
    <input type="text" name="serviceBlock[one]" />
    <input type="text" name="serviceBlock[two]" />

    т.е внутри опции serviceBlock лежат ключи one и two, в каждом из которых лежит значение, которое вписали в поле...
    <input type="text" name="serviceBlock[oneArray][one]" />
    <input type="text" name="serviceBlock[oneArray][two]" />
    <input type="text" name="serviceBlock[two]" />

    в этом примере в массиве serviceBlock лежит так же 2 ключа oneArray и two, но oneArray это массив с 2мя ключами со своими значениями...
    ну и две кнопки
    <input type="submit" name="submit" id="submit" class="button button-primary Setting_Save" value="<?php _e('Сохранить изменения','VAB');?>">
    <input type="submit" name="saveOptions" class="button button-primary ResetForm" onclick="return confirm('<?php _e('Вы уверены?','VAB');?>')" value="<?php _e('Найстройки были сброшены','VAB');?>">

    при сбросе в опцию «saveOptions» ляжет текст «Найстройки были сброшены»
    ... options.php все это обрабатывает и сохраняет...
  • Как добавить свою кнопку списка в редактор (TinyMCE) вордпресс?

    Как добавлять свои кнопки с простой вёрсткой (обернуть в span с нужным классом например) знаю.

    да так и создается по сути:
    ...
    {text:TrAdress+'...',onclick:function(){editor.insertContent('<address>'+editor.selection.getContent()+'</address>');}},
    ...

    если вопрос стоит о выпадающем меню, то например так:
    tinymce.PluginManager.add('VAB_tabs_button',function(editor,url){editor.addButton('VAB_tabs_button',{type:'menubutton',text:'',title:TrTabs,icon:false,image:url+'/../../../images/icons/tabs.png',menu:[
    	{text:GorTabs,onclick:function(){var tabssum=prompt(TrAccordionTabsCount+":","2"),vabtabsmenu='',vabtabsbody='';for(var i=2;i<=tabssum;i++){vabtabsmenu+='<li class="tabs_li HoV">'+TrTabsH+' №'+i+'</li>';vabtabsbody+='<div class="tabs_body">'+TrTabsB+' №'+i+'</div>';}editor.insertContent('<div class="tabs tabsAll VAB_adm_borders"><ul class="tabs_menu"><li class="active tabs_li HoV">'+TrTabsH+' № 1</li>'+vabtabsmenu+'</ul><div class="tabs_body active">'+TrTabsB+' № 1</div>'+vabtabsbody+'</div>'+BlokEnd);}},
    ...
    	{text:'|'},
    ...

    каждый {text:... это пункт меню
    {text:'|'}, добавляет горизонтальный разделитель
    5fe336b5aa01a868398239.jpeg
    в остальном все сводится к поставленной задаче и знаний js/jQuery
  • Метабокс тип color(picker), НАТИВНЫМ методом, кто делали?

    Все просто:
    включаем поддержку

    add_action('admin_enqueue_scripts','enqueue_admin_scripts');
    if(!function_exists('enqueue_admin_scripts')):function enqueue_admin_scripts(){
    	wp_enqueue_style('wp-color-picker');
    	wp_enqueue_script('wp-color-picker');
    ...


    выводим в нужном месте инпут тип текст(не колор, хотя можно и колор).
    <input type="text" class="wpColorChoose">
    или
    <input type="color" class="wpColorChoose">
    если выводим там где не происходит обновление с помощью ajax, то можно для всех мест в админке проинициализировать вот так:
    add_action('admin_footer','admin_footer_script',99);
    if(!function_exists('admin_footer_script')){function admin_footer_script(){
    		?><script type="text/javascript">
    			jQuery(document).ready(function($){
    				$('.wpColorChoose').wpColorPicker();

    т.е просто добавляем нужному инпуту класс wpColorChoose
    например в профле пользователя

    add_action('show_user_profile','VAB_user_fields');
    add_action('edit_user_profile','VAB_user_fields');
    if(!function_exists('VAB_user_fields')){
    	function VAB_user_fields($user){
    		?><input type="text" class="wpColorChoose"><?php
    ...

    5fda0d2dbe04f754999728.jpeg

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

    ...
    public function form($instance){
    ...
    <p><label for="<?php echo esc_attr($this->get_field_id('text-color'));?>"><?php esc_html_e('Цвет текста и ссылок','VAB');?></label><br/>
    <input id="<?php echo esc_attr($this->get_field_id('text-color'));?>" type="text" name="<?php echo esc_attr($this->get_field_name('text-color'));?>" class="widefault widgetColorChoose" value="<?php echo $text_color;?>"></p>
    ...
    <script type="text/javascript">jQuery(document).ready(function($){$('.widgetColorChoose').wpColorPicker();});</script>
    ...

    5fda0bea57582603364612.jpeg
  • Как откатиться к старой версии Wordpress?

    Сергей Кот,
    я боюсь, что исчезнет все за 5 лет
    сделайте предварительно бекап корневой папки сайта. А вообще, я считаю, бегство в прошлое может в будущем Вам аукнуться(старые версии более уязвимы). У Вас на скриншоте в комментариях верхнего ответа много чего не обновлено. Может проблема именно в этом. Надо искать причину и решать её, а не бежать к прошлой версии (крайний вариант, хотя и к фрилансеру можно). У Вас вообще вся консоль красная на сайте. Отключайте плагины меняйте тему на тему по умолчанию и смотрите в какой момент проблема пропадет...

    з.ы. сомневаюсь, что чат wordpress Вам не поможет.
  • Как можно реализовать пользовательские цветовые схемы на wp?

    через js/jQuery клик на кнопку добавляете к элементу класс на котором висит особый стиль и тут же создаете/перезаписываете куку/сессию. В значение куки/сессии ложите класс и при загрузке страницы смотрите, если кука/сессия есть, то добавляете к тому же элементу класс, который лежит в качестве значения этой куки/сессии.
  • Как изменить ссылки css с http на https - wordpress?

    а что такое HTTPS_HOST и откуда он взялся? я знаю, например, только HTTP_HOST...
    напишите где-нибудь echo $_SERVER['HTTPS_HOST'];
    что выводит?

    з.ы. и вообще после прочтения Вашего вопроса возникает куча вопросов...
  • Как задать свой дефолтный аватар на wordpress 5?

    Вы, кстати, сами написали:
    <label>
          <input type="radio" name="avatar_default" id="avatar_http://domain.test/wp-content/themes/bw/img/bw.png" value="http://domain.test/wp-content/themes/bw/img/bw.png"> 
          <img alt="" src="http://1.gravatar.com/avatar/a10d0576829f81205c7175515696d7c8?s=32&amp;d=http%3A%2F%2Fdomain.test%2Fwp-content%2Fthemes%2Fimg%2Fbw.png&amp;f=y&amp;r=g" srcset="http://1.gravatar.com/avatar/a10d0576829f81205c7175515696d7c8?s=64&amp;d=http%3A%2F%2Fdomain.test%2Fwp-content%2Fthemes%2Fimg%2Fbw.png&amp;f=y&amp;r=g 2x" class="avatar avatar-32 photo avatar-default" height="32" width="32" loading="lazy"> Аватар сайта</label>

    обратите внимание на value у input. потом Прям в инженерной панеле посмотрите на value у input ов других опций... поэтому Вам нужно именно для вашей опции использовать не get_avatar($comment,52) а, например,
    echo '<img src="'.get_option('avatar_default').'">';
  • Как задать свой дефолтный аватар на wordpress 5?

    функционал, по моему, уже до 5 версии ломаный. Плохо читали... Данные хранятся в таблице базы options - » avatar_default - » значение
    делайте вывод через опцию get_option('avatar_default')
    перед выводом делайте выборку, если выбрана будет опция Ваша созданная, туда ляжет url ну и собственно выводите тогда тег img или как вы это делаете! (может через background). чтобы лучше понять, откройте базу данных и посмотрите какие значения будут ложиться в опцию (либо тупо выводите, чтоб увидеть, echo get_option('avatar_default')) и меняйте настройку в админке...
    ну или пишите что-то свое, чтоб наверняка. для каждого пользователя
    типо

    5fbf66e909fef701406898.jpeg
    //добавление
    add_action('show_user_profile','VAB_user_fields');
    add_action('edit_user_profile','VAB_user_fields');
    
    //сохранение
    add_action('personal_options_update','save_VAB_user_fields');
    add_action('edit_user_profile_update','save_VAB_user_fields');

    а для остальных либо по умолчанию любую картинку, либо добавляете поле в форму комментов
    5fbf68a289a00876898169.jpeg
    только, если добалять лучше, например, через куки работать и смотреть, если ранее было загружено изо, брать его по умолчанию... да и вообще в этом плане стоит задуматься о том, что будут загружать люди. использовать к примеру Imagick чтобы подгонять размеры и сжимать загружаемые изображения.
    Но вариант не без гемора...
  • Как лучше сделать такое на wordpress?

    если верно Вас понял, то как вариант Вам можно добавить новую роль (add_role). В общих настройках выставляете «Роль нового пользователя» - > «Новая роль».
    Для этой самой роли полностью выпиливаете консоль. А на своей странице проверяете, если залогинен и у залогиненого пользователя id относится в Вашей роли, то показываете форму...
  • Почему не работает пагинация кастомных постов Wordpress?

    Либо плохо искали, либо не искали вовсе(тема заезжена даже на данном ресурсе)...
    Для начала изучаем иерархию. Ищем по этим ссылкам нужное (один ..... два) и создаем нужные Вам шаблоны согласно иерархии.
    далее суем в эти шаблоны стандартный цикл
    Пример


    <?php if(!defined('ABSPATH')){exit;}
    get_header();
    	if(have_posts()){
    			while(have_posts()):the_post();get_template_part('template_parts/post/template','excerpt');endwhile;
    		//тут Ваша функция навигации (можно перед while, можно перед и после while)
    	}else{get_template_part('template_parts/post/template','none');}
    	get_sidebar();get_footer();

    любые изменения делаете через pre_get_posts
    Пример

    add_filter('pre_get_posts','my_tax');
    if(!function_exists('my_tax')){
    	function my_tax($query){
    		if(!is_admin()){
    			if($query->is_tax('Ваша таксономия')&&$query->is_main_query()){
    				$terms=get_terms('Ваша таксономия',array('fields'=>'ids'));
    				$query->set('post_type',array('Ваш тип поста'));
    				$query->set('tax_query',array('relation' =>'OR',array('taxonomy'=>'Ваша таксономия','field'=>'id','terms'=>$terms,'operator'=>'NOT IN')));
    				$query->set('posts_per_page','2');
    }if($query->is_search){$query->set('post_type',array('post','page','Ваш тип поста'));}return $query;}}}


    все...
  • Не выводится дата в посте?

    ну дак енто надо использовать в цикле вордпресс, а не абы как. или попробовать использовать global post. мало информации в вопросе...
  • Как вывести переменную из виджета Wordpress в отдельный файл php?

    Вы можете перед созданием виджета создать переменную и уже внутри виджета изминить её и затем получить её(учтите, что в некоторых случаях значение переопределеной переменной будет актуально после вывода виджета)
    Например:
    $ASDASDASD='HJK'; //создали переменную перед виджетом
    if(!class_exists('VAB_Testimonial_Widget')){
    	class VAB_Testimonial_Widget extends WP_Widget{
    		private function defaults(){$defaults=array('cat_id'=>'0','posts_per_page'=>'-1','order'=>'DESC','text-color'=>'','bg_image'=>'','character_limit'=>25,'button-text'=>esc_html__('Читать далее','VAB'),'excerpt'=>false,'autoplayTimeout'=>4000,'smartSpeed'=>2000,'autoplay'=>true,);return $defaults;}
    		public function __construct(){
    			parent::__construct('VAB_Testimonial_Widget','Owl - '.esc_html__('Слайдер категории','VAB'),array('description'=>esc_html__('Для больших сайдбаров','VAB')));}
    		public function widget($args,$instance){
    			global $ASDASDASD;//наша переменная перед виджетом
    			if(!empty($instance)){
    				$instance=wp_parse_args((array)$instance,$this->defaults());
    				$catid=absint($instance['cat_id']);
    				$ASDASDASD=$catid;//переопределили переменную и положили в нее категорию
    .......................
    //теперь вывожу её в разметки странице после виджета
    echo $GLOBALS['ASDASDASD'];
    //либо в function.php пишу например так
    function ASDASDASD(){
    	global $ASDASDASD;
    	echo $ASDASDASD;
    }
    //и в любом месте вывожу 
    ASDASDASD();

    либо сохранить нужные вам данные в опции базы данных например с помощью временной опции set_transient
    способов очень много(сохранить в базе с опциями кастомайзера или в отдельной опции)
    опции кастомайзера:
    set_theme_mod('ASDASDASD',$catid);
    //получаеми и выводим на экран
    echo get_theme_mod('ASDASDASD');

    все зависит от Ваших целей....
  • Создание табов и вывод информации в них информации из кастомого типа записи WordPress?

    в этом месте по колдуйте... чо-то в роди:
    //$mypost = array( 'post_type' => 'question', 'question_cat' => $question_cat->name );
    $mypost=array(
    	'post_type'=>'question',
    	//'numberposts'=>-1,
    	'tax_query'=>array(
    		array(
    			'taxonomy'=>'questions',
    			'field'=>'slug',
    			'terms'=>array($question_cat->slug),
    		)
    	 )
    );
    $questions=get_posts($mypost);
  • Как правильно переносить Wordpress Multisite сеть?

    WP Panda
    ...реальный сайт или опен сервер не важно...
    ...мульти или нет тоже не важно...
  • Какие плагины необходимы для сайта-блога?

    Alex, особенно, не прощупав его предварительно на локальной машине. так как есть плагины, которые создают много таблиц в базе, а после его удаления они останутся. за пару часов поиска нужного плагина можно превратить базу в помойку...
  • Как сделать два custom logo?

    //functions.php
    function change_logo_class( $html ) {
        $html = str_replace( 'custom-logo', 'logo-header1', $html );
        return $html;
    }
    
    function change_logo_class2( $html ) {
        $html = str_replace( 'custom-logo', 'logo-header2', $html );
        return $html;
    }
    		
    //header
    add_filter( 'get_custom_logo', 'change_logo_class' );
    the_custom_logo();
    remove_filter( 'get_custom_logo', 'change_logo_class' );
    
    //footer
    add_filter( 'get_custom_logo', 'change_logo_class2' );		
    the_custom_logo();
  • Как разрешить запись скобок в кастомайзере?

    проблема не в Вашем коде (может плагин или ещё что-то) ...