-1

我为 wordpress 创建了这个简码,但没有用

<?php
function theme_tfw_posts()
{
?>
<?php
    global $post;
    $args = array( 'numberposts' => 5, 'offset'=> 1, 'category' => 1 );
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) :
        setup_postdata($post);
?>
        $a=<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>;
    <?php endforeach; ?>
<?php
    return $a;
}
?>
<?php
add_shortcode('tfw_posts','theme_tfw_posts');
?>

我认为问题出在标签或其他东西上,但这是我的第一个简码,问候

4

1 回答 1

0

至少有一件事看起来是错误的,$a当你返回它时不会被定义。原因是您的行$a=<a href...不在 PHP 代码块内。

$a每次foreach循环执行时也会被覆盖。也许您想将每个链接附加到上一个链接?

这可能会更好(尽管我不完全确定您要做什么,所以可能不会):

<?php
function theme_tfw_posts()
{
    $args = array( 'numberposts' => 5, 'offset'=> 1, 'category' => 1 );
    $myposts = get_posts( $args );
    $a = '';
    foreach( $myposts as $post )
    {
        setup_postdata($post);
        $a .= '<a href="' . the_permalink() . '">' . the_title() . '</a>';
    }
    return $a;
}
add_shortcode('tfw_posts','theme_tfw_posts');
?>
于 2013-03-30T21:42:14.790 回答