-1

このワードプレス用のショートコードを作成しましたが、機能しません

<?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

間違っているように見えることの少なくとも 1 つは$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 に答える