Intereting Posts
Объединить внутренний поиск с пользовательским поиском Google? Intgrate vBulletin с WordPress Получение сообщений от нескольких пользователей? Почему некоторые мои пользовательские сообщения не отображаются на моей странице? Обработка формы: как обработать форму перед выходом и получить доступ к данным из короткого кода Добавить меню типа сообщения в другое меню Как я могу заполнить элемент select терминами из результатов пользовательской таксономии и фильтрации? Есть ли проблема, если я использую get_template_part как это? Как безопасно заставить get_theme_mod () использовать определенное значение get_option ("stylesheet")? Почему я не могу добавить пользовательский образ в свою навигацию? Скрипты Enqueue на основе сайта. Лучший способ установить Bulma (CSS Framework) с помощью WordPress и Genesis Показывать миниатюру только на первом месте в цикле? Установка других приложений вместе с многопользовательским WordPress и настройка маршрутизации dns Вопрос о субдомене

Создать короткий код WordPress с php-кодом внутри

Я работаю с визуальными композиторами и настраиваемыми полями. У меня есть код для прямого вставки в PHP, но я не могу создать для этого короткий код.

<div id="search-nacionalidad"><p class="<?php the_field('nacionalidad'); ?> noselect" title="<?php the_field('nacionalidad'); ?>" alt="<?php the_field('nacionalidad'); ?>"><?php the_field('nacionalidad'); ?></p></div> 

Как я могу написать для этого короткий код?

благодаря

Создание короткого кода довольно просто, ему нужно только короткое имя и, возможно, некоторые аргументы. Вот простой для вас:

 add_shortcode('my-shortcode','my_shortcode_function'); function my_shortcode_function(){ return '<div id="search-nacionalidad"><p class="'. get_field('nacionalidad').' noselect" title="'.get_field('nacionalidad').'" alt="'. get_field('nacionalidad').'">'.get_field('nacionalidad').'</p></div>'; } 

Теперь, используя [my-shortcode] код [my-shortcode] точно выполняет то, что делает ваш код. Однако я не уверен, как вы это используете, будь то в цикле или нет. Если вам также нужно передать идентификатор сообщения, вам нужно использовать атрибуты. Взгляните на это:

 add_shortcode('my-shortcode','my_shortcode_function'); function my_shortcode_function($atts){ $atts = shortcode_atts( array( 'id' => '0', ), $atts, 'my-shortcode' ); $id = $atts['id']; return '<div id="search-nacionalidad"><p class="'. get_the_field('nacionalidad',$id).' noselect" title="'.get_the_field('nacionalidad',$id).'" alt="'. get_the_field('nacionalidad',$id).'">'.get_the_field('nacionalidad',$id).'</p></div>'; } 

Теперь, если вы используете [my-shortcode id="123"] он выполнит код для сообщения, имеющего идентификатор 123. Если идентификатор не указан, вместо него будет использоваться идентификатор по умолчанию 0.