WordPress: Как добавить пользовательский шаблон в Genesis Framework
Я создаю пользовательскую зону для сотрудников моего клиента. По сути, я до сих пор создал новый role=consultants
и я дал этой роли доступ только для чтения. Затем я загрузил плагин Peter's Login Redirect, чтобы консультанты (сотрудники) оказались на странице, называемой CONSULTANTS PORTAL. Оттуда они смогут получить доступ к своей отдельной странице, которую она будет загружать, если имя страницы совпадает с заданным им именем пользователя. Таким образом, они могут видеть только свою страницу.
Чтобы увидеть этот процесс, вы можете перейти по этой ссылке на форумах wordpress.org EASY CLIENT PORTAL
Так что мне удалось многое, кроме... Я должен дублировать page.php
и затем добавьте скрипт, который заставит отдельную страницу появиться. Но Genesis Framework довольно сложен. 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
или же have_posts
, но я, как я уже сказал, Genesis не имеет этого в page.php
, вместо этого все это разбито на куски и распространяется через корень.
Извините, если я сделал это слишком долго, чтобы прочитать, я хотел, чтобы вы имели всю информацию, которую я имею.
Кто-нибудь делал это раньше?
1 ответ
Попробуйте следующий код:
<?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(); ?>
Вместо того, чтобы писать код напрямую, напишите его внутри функции цикла, как описано выше.