Wordpress获取页面内容(内置php)

时间:2014-04-29 07:30:03

标签: php html wordpress

我希望能够拥有wordpress页面的html内容。我尝试使用这种代码:

$my_id = 5369;
$post_id_5369 = get_post($my_id);
$content = $post_id_5369->post_content;
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;

但它返回空一个空字符串,而当我访问该页面时,内容不为空。实际上,我希望得到的页面内容中有php代码。那么,我怎么做才能知道这个页面的内容知道里面有php代码?

数据内容:

<div id="content" class="oe">
<?php $loop = new WP_Query( array('post_type'=>'mcm')); ?>
<div id="slid" class="div-slider">
  <?php
    /* get value */
    $appercu_collection = get_post_custom_values ( "o" );
    if ($appercu_collection) { // si appercu
        class Image {
            public $link;
            public $image;
        }

        /* init value */
        $imageCollection = array ();

        /* complet collection */
        foreach ( $appercu_collection as $img ) {

            $img_tmp = new Image ();
            $img_tmp->image = wp_get_attachment_image_src( $img , 'medium' )[0];
            array_push ( $imageCollection, $img_tmp );
        }

        display_slider ( $imageCollection );
    }
    ?>
</div>
<div id="content-meta">
    <div class="meta-detail-header"><?php echo get_post_custom_values ( "_at" )[0]; ?></div>
    <div class="meta-detail-title"><?php the_title(); ?></div>
    <div class="audio">
        <div id="audio-inner">
        <?php $au =  get_post_custom_values("_au");
            if ($au) {
                $urlguid = wp_get_attachment_url ( $au [0] );
                if ($urlguid) {
                    display_audio ( $urlguid );
                }
            }
        ?>
        </div>
    </div>
</div>
<div id="ex">
    <?php 
        $newdebut = get_long_formatted_date( $date_debut[0] );
        $newfin = get_long_formatted_date( $date_fin[0] );
    ?>
    <div id="expo-temp-dates"><?php echo sprintf( __( 'From %s to %s' , 'wptouch-pro' ) , $newdebut , $newfin );?></div>
    <?php 
    $tar =  get_post_custom_values("_tarif"); 
    if($tar) { ?>
    <div id="exprice"><?php echo $tar[0]; ?></div>
    <?php }?>
</div>
<div id="content-o" >

    <!-- GET Content -->
    <div id="content-description" class="detail-container">
        <?php display_zoom_controls(); ?>
        <?php echo wpautop( wptouch_the_content() ); ?>
    </div>
    <!-- GET BONUS -->
    <div id="content-bottom-sticky">
        <a href="<?php echo $url_guide;?>"
            class="tappable-button tappable dark" role="Button"><?php _e( 'TUIDE' , 'wptouch-pro' ); ?></a>
    </div>
</div>
<?php endif; ?>
<!-- inside intervalle -->
<?php endwhile; 
wp_reset_postdata();?>

<?php if( ! $content) { ?>

<div id="title" class="title">
    <h2><?php _e( 'N' , 'wptouch-pro' ); ?></h2>
</div>

<?php }?>

1 个答案:

答案 0 :(得分:0)

我最终通过对我的页面执行ajax请求并获取内容来解决我的问题 wp_remote_get。实际上,这是一个包含自定义类型帖子和自定义字段的页面。 这是我的代码:

$resp = wp_remote_retrieve_body( wp_remote_get($url,$option));
$doc = new DOMDocument();
$doc->loadHTML($resp);
$element = $doc->getElementById('content');
$content = $doc->saveHTML($element);

$ content包含id为&#34; content&#34;的元素的html内容。网址为$ url。

的网页