Я использую Timber на сайте WordPress. Я разрабатываю тему, и мне нужен доступ к текущему идентификатору пользователя.
Я подключен как администратор и знаю свой идентификатор пользователя: 12.
Я пытался позвонить get_current_user_id
непосредственно в файле ветки, но он вернул 0.
То же самое после попытки вызвать ту же функцию из functions.php
файл с этой вещью: add_action('init', 'my_function')
, Всегда 0 …
Я также пробовал другие функции, такие как wp_get_current_user
например. Опять же, как будто я не связан.
Я думаю, что дело в том, что я использую Timber, но я не уверен, потому что я не видел ни одной подобной проблемы, связанной с Timber, в Интернете.
РЕДАКТИРОВАТЬ :
Вот мой файл шаблона ветки template-projects.twig
:
{% extends "base.twig" %}
{% block content %}
<div class="projects container">
<div class="projects__filters" id="project-filters">
{{ fn('get_current_user_id') }}
</div>
</div>
...
{% endblock %}
у меня есть project
переменная, которая доступна. Что я хочу сделать, это отобразить проект, связанный с пользователем (это настраиваемое поле в проекте). Сейчас я просто пытаюсь получить идентификатор и отобразить его перед добавлением любого кода.
Это мой шаблонный файл php, template-projects.php
:
<?php
/*
* Template Name: Projects
* Description: Projects
*/
$context = Timber::get_context();
$post = new TimberPost();
$context['post'] = $post;
$context['searchBar'] = true;
$args = array(
'posts_per_page' => -1,
'post_type' => 'project-v3'
);
$context['projects'] = Timber::get_posts($args);
Timber::render('template-projects.twig', $context);
Я получил сообщение, проекты, все в порядке, я тоже пытался получить идентификатор пользователя, но он тоже не работает.
РЕДАКТИРОВАТЬ 2:
Я нашел решение!
я использую gruntjs
с BrowserSync
, который создает домен localhost:3000
вместо имени хоста я выбрал в Mamp.
Похоже, что если я использую имя хоста Mamp, пользовательские данные будут правильно извлечены, но если я перейду к URL-адресу BrowserSync, это как если бы я не был подключен, а идентификатор каждый раз был равен 0. Это немного странно, и у меня не будет автоматической перезагрузки моей вкладки, но, по крайней мере, я нашел проблему 🙂
Задача ещё не решена.
Других решений пока нет …