如何让我的函数将变量/值添加到$POST对象?

时间:2010-12-07 作者:matt

如何添加$tzDesc$tzEmbed (和其他变量)到$post 对象,以便通过插入<?php echo $tzDesc; ?>?

add_action( \'the_post\', \'paginate_slide\' );

function paginate_slide( $post ) {

    global $pages, $multipage, $numpages;

    if( is_single() && get_post_type() == \'post\' ) {

    $multipage = 1;
    $id = get_the_ID();
    $custom = array();
    $pages = array();
    $i = 1;

    foreach( get_post_custom_keys() as $key )
        if ( false !== strpos( $key, \'slide\' ) )
            $custom[$key] = get_post_meta( $id, $key, true);

    while( isset( $custom["slide{$i}-title"] ) ) {

        $page = \'\';
        $tzTitle = $custom["slide{$i}-title"];
        $tzImage = $custom["slide{$i}-image"];
        $tzDesc = $custom["slide{$i}-desc"];
        $tzEmbed = $custom["slide{$i}-embed"];

        $page = "<h2>{$tzTitle}</h2><img src=\'{$tzImage}\' />";
        $pages[] = $page;
        $i++;
    }

    $numpages = count( $pages );
    }
}
如果您知道并且可以提供答案,请您详细说明代码的结构,因为我对php的了解非常少,我已经尝试过很多次了,但都没有成功。谢谢

1 个回复
SO网友:MathSmath

与任何其他php对象一样,您可以向$post对象添加项目,如下所示:

$post->my_new_val_name = \'my new value\';
我不知道您到底想做什么,但在连接到\\u post的函数中,您可以指定新值并返回对象。

function my_func($post) {

    $post->my_new_val_name = \'my new value\';
    return $post;

}
add_action( \'the_post\', \'my_func\' );
但是,在模板文件中,您不能按照您的建议只回显$my\\u new\\u val\\u名称。。。\\u post()函数不会以这种方式提取值。您必须显式引用post对象。例如:

echo $post->my_new_val_name;

结束