wordpress 플러그인 -> 정의되지 않은 함수 wp_get_current_user() 호출
func wp_get_current_user()를 사용하여 플러그인에서 현재 사용자 정보를 가져오려고 합니다.하지만 점점 더Call to undefined function wp_get_current_user()
보아하니 이 일이 일어나는 이유는/wp-includes/pluggable
플러그인이 로드될 때까지 기능이 로드되지 않습니다.
내 플러그인에서 사용자 세부 정보를 얻는 방법에 대해 아는 사람?
이 문제는 함수를 포함하는 /wp-includes/pluggable 파일이 플러그인이 로드될 때까지 로드되지 않기 때문에 발생합니다.
정말 그렇습니다.따라서 함수에서 수행하는 모든 작업을 랩핑하여 plugins_loaded 또는 init hook에 연결합니다.(wp-timeout 참조).php 파일)
예:
add_action('init','do_stuff');
function do_stuff(){
$current_user = wp_get_current_user();
// ...
}
이거 쓸 수 있어요.
<?php
if(!function_exists('wp_get_current_user')) {
include(ABSPATH . "wp-includes/pluggable.php");
}
?>
이것으로 문제가 해결됩니다. : )
이 코드로 제 문제를 해결해주세요.
include_once(ABSPATH . 'wp-includes/pluggable.php');
추가도 시도하다
require_once('../../../wp-load.php');
와 함께
require_once(ABSPATH.'wp-includes/pluggable.php');
wp 3.8 설치 후 ajax에서 받은 페이지와 같은 문제가 발생하였습니다.다음 코드로 수정했습니다.
if(!function_exists('wp_delete_user')) {
include(ABSPATH . "wp-admin/includes/user.php.");
}
기능이 플러그에서 옮겨진 것 같습니다.php를 user.display로 보냅니다.wp-blog-header.php를 포함했는데도 왜 작동하지 않는지 모르겠어요.
이상하게 들릴지 모르지만, 내 어플리케이션의 문제는 내가 워드프레스 메뉴를 만드는 수업을 들었던 menu.php라는 파일이 있었기 때문에 발생했다.
말 그대로 파일 이름을 menu.php에서 nav-menu.php로 변경하는 것만으로 문제가 해결되었습니다.FILE의 이름이 문제가 될 수 있다는 것을 믿을 수 없어 3번 반복했습니다.
만약 누군가가 그 파일 안에 무엇이 있는지 알고 싶어한다면, 여기 있습니다.
class OwNavMenu extends OwCpnt
{
function __construct( $location, $args ) {
$show = $args['show'];
$span = $args['span'];
if ( $show ) {
$this->menu( $location, $span );
}
}
function menu( $location, $span ) {
if ( $location ) {
echo '<div id="ow-' . $location . '" class="ow-nav ow-' . $location . '">';
wp_nav_menu(
array(
'theme_location' => $location,
'link_before' => ( $span ) ? '<span>' : '',
'link_after' => ( $span ) ? '</span>' : ''
)
);
echo '</div>';
}
}
}
플러그인 PHP 파일에서 사용해 보십시오.
if ( !function_exists('wp_get_current_user') ) {
include(ABSPATH . "wp-includes/pluggable.php");
}
$current_user = wp_get_current_user();
$user=esc_html( $current_user->ID );
CLI에 의한 Wordpress 설치 후 웹사이트를 열기 전에 충분히 기다리지 않았기 때문에 그런 일도 있었습니다.
WP 업데이트 후 동일한 에러 메시지가 떴습니다.나에게 효과가 있었던 수정은 빠르고 쉬웠다.
기능을 찾습니다.wp-includes 디렉토리(WP 3.8.x)의 php.php 태그를 연 후 맨 위에 다음을 추가합니다.
require_once('pluggable.php');
것은 아니다.wp-includes
단,
include_once(ABSPATH . "wp-admin/includes/plugin.php");
퀵픽스include_once(ABSPATH . 'wp-includes/pluggable.php');
기능에 이 행을 추가합니다.php
언급URL : https://stackoverflow.com/questions/6127559/wordpress-plugin-call-to-undefined-function-wp-get-current-user
'prosource' 카테고리의 다른 글
프런트 엔드의 OAuth를 사용한 인증에 성공한 후 백엔드와 대화하는 방법 (0) | 2023.02.08 |
---|---|
SQL을 통해 Wordpress 비밀번호를 재설정하시겠습니까? (0) | 2023.02.08 |
각도, 컨텐츠 유형이 $http와 함께 전송되지 않습니다. (0) | 2023.02.08 |
워드프레스 add_meta_box() 이상함 (0) | 2023.02.08 |
Ruby on Rails와 Wordpress 통합 (0) | 2023.02.08 |