admin管理员组

文章数量:1430846

my wordpress site urls like this: /?pid=a125a5&lang=en and query of my archive page like this:

<?php

$the_slug = get_query_var('pid');

if ($the_slug){

if ( $post = get_page_by_path( $the_slug, OBJECT, 'myposttype' ) )
    $id = $post->ID;
else
    $id = 0;
?>

<?php get_header(); ?>
<div class="warpper">



    <?php ;
    $args = array(
        'name'        => $the_slug,
        'post_type'   => 'myposttype',
        'post_status' => 'publish',
        'numberposts' => 1,
    );
    $query = new WP_Query( $args );
    if ( $query->have_posts() ) :   while ( $query->have_posts() ) : $query->the_post();    ?>

<?php the_title(); ?>

<?php endwhile; else: ?><?php endif; ?>
<php } else{...};

its work but commands like is_single() return false and wordpress not showing edit post in admin bar.

my wordpress site urls like this: https://example/?pid=a125a5&lang=en and query of my archive page like this:

<?php

$the_slug = get_query_var('pid');

if ($the_slug){

if ( $post = get_page_by_path( $the_slug, OBJECT, 'myposttype' ) )
    $id = $post->ID;
else
    $id = 0;
?>

<?php get_header(); ?>
<div class="warpper">



    <?php ;
    $args = array(
        'name'        => $the_slug,
        'post_type'   => 'myposttype',
        'post_status' => 'publish',
        'numberposts' => 1,
    );
    $query = new WP_Query( $args );
    if ( $query->have_posts() ) :   while ( $query->have_posts() ) : $query->the_post();    ?>

<?php the_title(); ?>

<?php endwhile; else: ?><?php endif; ?>
<php } else{...};

its work but commands like is_single() return false and wordpress not showing edit post in admin bar.

Share Improve this question edited Apr 22, 2019 at 9:26 Eh Jewel 8553 gold badges14 silver badges29 bronze badges asked Apr 21, 2019 at 8:32 JerryJerry 1
Add a comment  | 

2 Answers 2

Reset to default 0

To show single page for your Custom Post Type you can use single-post-type.php file where you need to add your post type name after single- and use a query on this file. WordPress will use this file to show a single page of your CPT.

The is_single() function will return always false in the archive page template. Cause, the page is archive page template.

本文标签: custom post typesTell wordpress to show a single page instead of an archive page