✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Используйте текущий идентификатор пользователя с модулями для WordPress

29

Pods Framework для WordPress, специальная утилита, которая существует уже давно, предлагает множество функций, позволяющих работать с расширенными типами контента, пользовательскими настройками и так далее.

Используйте текущий идентификатор пользователя с модулями для WordPress

Я упоминаю об этом, потому что Pods — популярная утилита, и есть некоторые доступные функции, которые обеспечивают некоторые полезные функции.

Благодаря использованию коротких кодов можно выполнять некоторые мощные запросы к базе данных для получения информации для динамического заполнения форм.

Один из вариантов использования, который я вижу в нескольких результатах, заключается в том, как заполнить шорткод идентификатором текущего пользователя. Здесь есть сообщение на форуме об этом, а также продолжается обсуждение этого вопроса на Stack Overflow.

Но если вы ищете способ отфильтровать контент, чтобы сделать это, не перерабатывая некоторые из существующих шорткодов, есть еще один способ сделать это.

Используйте текущий идентификатор пользователя с модулями

Допустим, вы хотите заполнить форму идентификатором текущего пользователя без шорткода; вы можете сделать это с помощью токена и фильтра.

Например, предположим, что ваш шорткод выглядит примерно так :

[pods-form name="user" fields="first_name, last_name" where="current_user_id = user_id" label="Update"]

Чтобы отфильтровать это, в отличие от использования шорткода, вы можете сделать следующее :

<?php
add_filter('the_content', __NAMESPACE__. 'filter_pods_by_current_user');
/**
 * Replaces the current_user_id = user_id with the current user ID in the
 * incoming content (which includes the Pods shortcode).
 *
 * @param  string $content the content of the shortcode.
 * @return string          the result of the parsed shortcode.
 */
function filter_pods_by_current_user($content)
{
    $user = wp_get_current_user();

    return str_ireplace(
        'current_user_id = user_id',
        "id='". $user->ID. "'",
        $content
    );
}

Это будет искать определенный токен в строке, заменять его, а затем возвращать его с атрибутом шорткода, удобным для Pods, до того, как шорткод будет обработан.

Затем поды будут выполнять запрос таким образом, чтобы он выглядел примерно так (при условии, что идентификатор текущего пользователя равен 100):

[pods-form name="user" fields="first_name, last_name" where="id = 100" label="Update"]

Одна вещь, которую я хочу прояснить, это то, что я не обязательно рекомендую это использовать манипуляции с коротким кодом.

Вместо этого используйте то, что лучше всего соответствует ситуации. Если это шорткоды, см. код, указанный во вступлении; в противном случае, возможно, вышеупомянутый фильтр работает нормально.

Источник записи: tommcfarlin.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее