Функция WordPress if_logged_in на странице без WordPress - PullRequest
0 голосов
/ 12 января 2011

Я хочу как-то использовать эту функцию на странице без wordpress:

<?php
if (is_user_logged_in()){
    echo "Welcome, registered user!";
}
else {
    echo "Welcome, visitor!";
};
?>

Есть ли способ сделать это? Мне сказали, что это возможно, если я включу свой wp-header.php на страницу без wordpress, но я не хочу этого делать. Любые другие методы?

Ответы [ 4 ]

1 голос
/ 22 декабря 2011

Вы должны загрузить Wordpress Core в ваш текущий скрипт. Вы можете сделать это так:

    //wp-admin
    require $_SERVER['DOCUMENT_ROOT'].'/wp-load.php';

    //Check if someone is logged in
    global $user_level;
    get_currentuserinfo() ;
    //echo "User Level = $user_level<br>";
    if ($user_level < 1)
            die('You aren\'t allowed to view this!');
1 голос
/ 12 января 2011

Вы должны использовать заголовок Wordpress, потому что эта функция находится в ядре.Единственный другой вариант - написать свою собственную функцию с тем же именем, используя ту же базу данных пользователей.

0 голосов
/ 13 января 2011

Включение wp-load.php - лучший способ.Есть множество способов обойти это, но я использую что-то похожее на следующее:

$wp_load_location_array = array();
$wp_load_location_array[] = "../../../../../../wp-load.php";
$wp_load_location_array[] = "../../../../../wp-load.php";
$wp_load_location_array[] = "../../../../wp-load.php";
$wp_load_location_array[] = "../../../wp-load.php";
$wp_load_location_array[] = "../../wp-load.php";

foreach($wp_load_location_array as $wp_load_location)
{
    if(file_exists($wp_load_location))
    {
        require_once($wp_load_location);
    }
}

Это что-то вроде хака, и если вы на самом деле знаете расположение файла wp-load.php, то выможете просто использовать это в функции require_once ().

Поместите это в верхнюю часть вашего файла, и вы сможете использовать все функции WordPress на своей странице, не связанной с wordpress.

0 голосов
/ 12 января 2011

Вам не нужно включать файл admin-header.php.Просто включите этот файл:

wp-includes / pluggable.php

Этот файл содержит определение is_current_logged_in (), а также многих других помощников пользовательских данных, таких как wp_set_current_user (), wp_get_current_user () и т. Д..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...