【发布时间】:2015-09-25 19:52:09
【问题描述】:
当我尝试通过此代码运行短代码时:
define( 'WP_USE_THEMES', false );
require_once('account/wp-blog-header.php');
require_once('account/wp-includes/shortcodes.php');
global $current_user;
get_currentuserinfo();
print_r($current_user);
get_header();
$page_object = get_page( 28 );
var_dump($page_object);
echo do_shortcode($page_object->post_content);
我得到的页面只有标题,所以 do_shortcode 不起作用。 page_object 的转储返回给我这个:
object(WP_Post)[276]
public 'ID' => int 28
public 'post_author' => string '1' (length=1)
public 'post_date' => string '2015-09-22 12:14:16' (length=19)
public 'post_date_gmt' => string '2015-09-22 12:14:16' (length=19)
public 'post_content' => string '[pmpro_levels]' (length=14)
public 'post_title' => string 'Membership Levels' (length=17)
public 'post_excerpt' => string '' (length=0)
public 'post_status' => string 'publish' (length=7)
public 'comment_status' => string 'closed' (length=6)
public 'ping_status' => string 'closed' (length=6)
public 'post_password' => string '' (length=0)
public 'post_name' => string 'levels' (length=6)
public 'to_ping' => string '' (length=0)
public 'pinged' => string '' (length=0)
public 'post_modified' => string '2015-09-22 12:14:16' (length=19)
public 'post_modified_gmt' => string '2015-09-22 12:14:16' (length=19)
public 'post_content_filtered' => string '' (length=0)
public 'post_parent' => int 22
public 'guid' => string 'http://phpstack-10604-23437-55300.cloudwaysapps.com/account/membership-account-2/membership-levels/' (length=99)
public 'menu_order' => int 0
public 'post_type' => string 'page' (length=4)
public 'post_mime_type' => string '' (length=0)
public 'comment_count' => string '0' (length=1)
public 'filter' => string 'raw' (length=3)
$page_object->post_content; 还给我 [pmpro_levels],但是
do_shortcode() 不解析短代码。
一切都在 WordPress 目录中运行,你可以在我调用 wp-blog-header.php 的地方看到,但它不起作用。
为什么?
【问题讨论】: