2016-08-24 3 views
4

У меня есть страница компании, разработанная с использованием Joomla, а внутри нее - административная область, разработанная на PHP. Доступ к этой области могут получить только пользователи с определенными привилегиями, partner и partner_employees.PHP area inside wordpress page

Мне нужно перенести передний сайт на Wordpress и сохранить то же поведение на ограниченной территории, используя логин от Wordpress.

Возможно ли это?

Где я должен помещать каталог из этой запретной зоны?

Как разместить ссылки на странице Wordpress, указывающей на эту область?

ответ

5

Если вы просто хотите, чтобы сделать ограниченную область в wp как My Account развитых в PHP и не интегрировать другую структуру (Joomla в вашем случае) с wp, вы можете просто достичь,:

Во-первых, создать wp template, что includes логика ограниченной зоны. Ref: https://developer.wordpress.org/themes/basics/template-files/ https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/

Во-вторых, создать wp page используя созданную template и установить link для этой страницы в вашем menu. Ref: https://codex.wordpress.org/Pages

Теперь, если вы хотите, чтобы управлять аутентификацией, а также с Wordpress, либо вы можете использовать множество доступных плагинов там, например:

  1. https://wordpress.org/plugins/advanced-access-manager/

  2. https://wordpress.org/plugins/wpfront-user-role-editor/

Или вы можете настроить собственный код, чтобы узнать больше, вы можете здесь: https://codex.wordpress.org/Roles_and_Capabilities

Ваш файл шаблона может выглядеть (в качестве отправной точки):

<?php 
/** 
* Template Name: My Account Page Temp 
* 
* @package WordPress 
* @subpackage Twenty_Fourteen 
* @since Twenty Fourteen 1.0 
*/ 

<?php if (is_user_logged_in() && current_user_can($capability)): ?> 

//render your restricted area content   

<?php else : ?> 

// Redirect him for login 

<?php endif; ?> 

Примечание: Вы можете разбить ограниченную логику области во многих вложенной template parts и может использовать их в вашей main template согласно требования. Поместите их в вашей активной директории темы: wp-content/themes/twentyfourteen/myaccount

<?php get_sidebar(); ?> 
<?php get_template_part('featured-content'); ?> 
<?php get_footer(); ?> 

Надеется, что это помогает.

+1

Подсказка: 'else:' - than - 'endif;' – Spooky