0

我在 WordPress 网站上使用 Timber。我正在开发一个主题,我需要访问当前的用户 ID。

我以管理员身份连接,我知道我的用户 ID: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可用的变量。我要做的是显示与用户相关的项目(它是项目中的自定义字段)。现在,我只是想在添加任何代码之前获取 ID 并显示它。

这是我的 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);

我得到了帖子,项目,一切都很好,我也尝试从这里获取用户 ID,但它也不起作用。

编辑 2:

我找到了解决方案!

我正在使用gruntjswith BrowserSync,它创建域localhost:3000而不是我在 Mamp 中选择的主机名。

看来,如果我使用 Mamp 主机名,则可以正确检索用户数据,但是如果我继续使用 BrowserSync url,就好像我没有连接并且 ID 每次都是 0。这有点奇怪,我不会自动重新加载我的标签,但至少我发现了问题:)

4

0 回答 0