wordpress 플러그인 페이지에서 현재 페이지 ID 가져오기
전류를 흘려보내야 해page id
루프 외부의 WordPress 플러그인 페이지에 있습니다.그리고 제가 작성한 코드는page id
플러그인 페이지에 있습니다.여러 코드를 시도했지만 작동하지 않습니다.
$page_object = get_queried_object();
$page_id = get_queried_object_id();
// "Dirty" pre 3.1
global $wp_query;
$page_object = $wp_query->get_queried_object();
$page_id = $wp_query->get_queried_object_id();
하지만 나에게는 효과가 없다.
global $post;
echo "pageid: ".$post->ID;
이것도 안 돼요.
해보면
global $wp_query;
$post_obj = $wp_query->get_queried_object();
$Page_ID = $post_obj->ID;
echo $Page_ID;
에러 메세지가 표시됩니다.
치명적 오류: 876 회선의 H:\xampp\htdocs\wordpress\wp-content\plugins\wpk\wpk.php에 있는 비개체의 멤버 함수 get_querieed_object()를 호출합니다.
인쇄할 때:
global $wp_query;
print_r($wp_query);
결과는 다음과 같습니다.
WP_Query Object
(
[query] =>
[query_vars] => Array
(
)
[tax_query] =>
[meta_query] =>
[date_query] =>
[queried_object] =>
[queried_object_id] =>
[request] =>
[posts] =>
[post_count] => 0
[current_post] => -1
[in_the_loop] =>
[post] =>
[comments] =>
[comment_count] => 0
[current_comment] => -1
[comment] =>
[found_posts] => 0
[max_num_pages] => 0
[max_num_comment_pages] => 0
[is_single] =>
[is_preview] =>
[is_page] =>
[is_archive] =>
[is_date] =>
[is_year] =>
[is_month] =>
[is_day] =>
[is_time] =>
[is_author] =>
[is_category] =>
[is_tag] =>
[is_tax] =>
[is_search] =>
[is_feed] =>
[is_comment_feed] =>
[is_trackback] =>
[is_home] =>
[is_404] =>
[is_comments_popup] =>
[is_paged] =>
[is_admin] =>
[is_attachment] =>
[is_singular] =>
[is_robots] =>
[is_posts_page] =>
[is_post_type_archive] =>
[query_vars_hash] =>
[query_vars_changed] => 1
[thumbnails_cached] =>
[stopwords:WP_Query:private] =>
)
이 문제를 어떻게 해결해야 할지, 전류를 어떻게 얻어야 할지 모르겠어.page id
이 문제를 해결할 방법을 알고 있다면 여러분의 지원이 필요합니다.잘 부탁드립니다.
get_the_ID(); or $post->ID;
워드프레스의 현재 페이지 또는 게시 ID를 반환합니다.
단, 투고는 워드프레스 포스트 테이블에 저장해야 합니다.그렇지 않으면 단순히 wordpress 데이터베이스의 항목이 아니기 때문에 ID를 얻을 수 없습니다.
정적 페이지이고 워드프레스 게시물의 엔트리가 아니라면get_the_ID()
아무것도 돌려주지 않았어요
예: get_the_ID()가 포스트 아카이브 페이지, 워드프레스 백엔드의 관리 페이지 등에서 작동하지 않았습니다.
따라서 이 질문에 따라 백엔드 플러그인 설정 페이지 또는 임의의 아카이브 페이지인 페이지의 ID를 취득하려고 합니다.
갱신하다
워드프레스로 현재 게시 ID를 가져오는 방법
(1)global $post; $post->ID();
(2)global $wp_query; $post_id = $wp_query->get_queried_object_id();
(3)global $wp_query; $post_id = $wp_query->post->ID;
(4)get_the_ID();
[이 태그는 The Loop 내에 둘 것을 권장합니다]
이것 좀 봐
function get_the_ID() {
$post = get_post();
return ! empty( $post ) ? $post->ID : false;
}
(취득_the_)ID()는 현재 $post의 ID를 반환합니다.
(5)get_query_var('page_id')
[예쁜 퍼머링크를 쓰면 안 돼]
https://codex.wordpress.org/Function_Reference/get_query_var
얻을 수 있다ID
다음 방법을 사용하여 루프 외부에 있는 현재 페이지의 게시물을 확인합니다.
global $wp_query;
$post_id = $wp_query->post->ID;
$post = get_post( $post_id );
$slug = $post->post_name;
페이지 ID를 취득하기 위해 아래 코드를 사용합니다.
get_the_ID();
이것이 적절한 해결책이라고 생각합니다.
$id = get_queried_object_id();
즉, 다음과 같습니다.
function get_queried_object_id() {
global $wp_query;
return $wp_query->get_queried_object_id();
}
선택한 답변은 Wordpress 루프에 넣었을 경우에만 작동합니다.밖에서는 쓸모없게 될 것이다.
이 기능은 어디에서나 사용할 수 있습니다.
global $wp_query;
$postID = $wp_query->post->ID;
위의 해결방법은 나에게 효과가 없었다.저는 이렇게 해서 저를 위해서 일해요.
add_action ( 'after_setup_theme', 'custom_function' );
function custom_function() {
$current_url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
// get page id from url and check for ssl enabled
$pageId = url_to_postid(set_url_scheme($current_url));
}
에서 모든 설정과 변수를 볼 수 있습니다.get_defined_vars()
기능:
var_dump(get_defined_vars());
당신의 경우 '_GET'을 받고 'post' 안에 들어가야 합니다.코드는 다음과 같습니다.
$tmp = get_defined_vars();
var_dump($tmp['_GET']['post']);
아직 작동하지 않는 사용자에게는 일종의 add_action을 사용해야 합니다(사용할 항목을 선택할 수 있습니다).예를 들어, 플러그인 폴더, 함수 php 또는 그 외의 장소에 관계없이 현재 페이지 ID가 문제없이 반환됩니다.
add_action('template_redirect', 'showid');
function showid(){
global $wp_query;
$theid = intval($wp_query->queried_object->ID);
echo $theid;
}
내가 이걸 시도하기 전까지는 아무 것도 효과가 없는 것 같았다.
<?php
function child_pages() {
$page_id = get_query_var( 'paged' ) ? (int) get_query_var( 'paged' ) : 1;
echo "<h2>" . $page_id . "</h2>";
}
add_action( 'template_redirect', 'child_pages' );
?>
언급URL : https://stackoverflow.com/questions/22351038/get-the-current-page-id-inside-wordpress-plugin-page
'programing' 카테고리의 다른 글
Spring REST 여러 @RequestBody 파라미터가 가능합니까? (0) | 2023.03.28 |
---|---|
Wordpress Plugin 개발 중 타사 종속성 충돌 (0) | 2023.03.28 |
php 루프의 모든 n번째 항목에 클래스를 추가하려면 어떻게 해야 합니까(wordpress (0) | 2023.03.28 |
ASP.NET MVC Raw JSON Post 데이터 읽기 (0) | 2023.03.28 |
이벤트 목록 (0) | 2023.03.28 |