1

我正在为我客户的员工创建一个自定义成员区域。基本上,到目前为止,我所做的是我创建了一个新role=consultants角色,并为该角色提供了只读访问权限。然后我上传了Peter 的登录重定向插件,以便顾问(员工)登陆一个名为 CONSULTANTS PORTAL 的页面。从那里,他们将能够访问他们将加载的个人页面,只要页面名称与提供给他们的用户名匹配。这样他们就只能看到自己的页面。

要查看此过程,您可以访问 wordpress.org 论坛中的此链接EASY CLIENT PORTAL

所以我已经管理了很多,除了......我应该复制page.php然后添加脚本,这将使单个页面显示出来。但是,Genesis 框架非常复杂。有page.php一个空骨架,页面的实际内容位于 li/structure 根文件夹中(无论如何我都是这么想的)。

就像现在一样,我的默认模板页面中有以下内容consultants-portal.php

<?php
/**
* Template Name: Consultants Portal
*/

global $current_user;
get_currentuserinfo();
$page = get_page_by_title($current_user->user_login);
_e($page->post_content);
genesis();
?>

这段代码让我明白了。您可以在页面加载之前看到内容(我的页面)加载。这告诉我还需要添加其他内容,以便内容加载到页面的实际白色区域。

is_page我提到的链接中的说明说要在or上方添加动态脚本have_posts,但正如我所说,Genesis 中没有这个page.php。相反,它全部破碎并通过根部蔓延。

对不起,如果我把这篇文章写得太长了,我希望你拥有我所拥有的所有信息。

有没有人这样做过?

在此处输入图像描述

4

1 回答 1

2

试试下面的代码:

<?php
/**
* Template Name: Consultants Portal
*/

// remove Genesis default loop
remove_action( ‘genesis_loop’, ‘genesis_do_loop’ );

// add a custom loop
add_action( ‘genesis_loop’, ‘my_custom_loop’ );

function my_custom_loop () {

// add your queries or custom structure here
    global $current_user;
    get_currentuserinfo();
    $page = get_page_by_title($current_user->user_login);
    _e($page->post_content);

}

genesis(); ?>

与其直接编写代码,不如将其写在上面的循环函数中。

于 2014-07-30T10:20:49.110 回答