如何在链接中包装foreach循环项?

时间:2014-02-28 14:53:26

标签: php wordpress foreach

我认为这个问题是php而不是WordPress ......

我有一段代码输出使用特定WordPress页面模板的页面:

$pages = get_pages(array(
    'meta_key' => '_wp_page_template',
    'meta_value' => 'page-product.php'
));
foreach($pages as $page){
    echo $page->post_title.'<br />';
}

我的问题是如何将post_title包装在链接中(the_permalink()到页面本身)?

4 个答案:

答案 0 :(得分:0)

您将执行以下操作:

foreach ( $pages as $page ){
    printf( '<a href="%s">%s</a><br />', get_permalink( $page ), $page->post_title );
}

答案 1 :(得分:0)

试试这个..

get_page_link( $page->ID )

在您的代码中..

$pages = get_pages(array(
  'meta_key' => '_wp_page_template',
  'meta_value' => 'page-product.php'
));
foreach($pages as $page){
    echo '<a href="' . get_page_link( $page->ID ) . '">' . $page->post_title.'</a><br         />';
}

有关详细信息,Wordpress始终提供有关您使用内容的大量示例和信息。 在这种情况下,我使用Wordpress自己提供的实际代码,因此这将是最好的方法。请参阅https://codex.wordpress.org/Function_Reference/get_pages

答案 2 :(得分:0)

试试这个代码段:

$pages = get_pages(array(
    'meta_key' => '_wp_page_template',
    'meta_value' => 'page-product.php'
));
foreach($pages as $page){

///Do not forget to escape the title
    echo '<a href="' . get_page_link($page->ID)  . '">' . esc_html($page->post_title) . '</a>';
}

答案 3 :(得分:0)

感谢您的建议。 bodi0 - 我喜欢esc_html,谢谢。我最终认为它有点不同:

<?php
 $studentpages = get_pages(array(
 'meta_key' => '_wp_page_template',
 'meta_value' => 'students.php'
 ));
 foreach($studentpages as $studentpage){
 $studentlinks = get_page_link($studentpage->ID);
 echo '<a href=" '.$studentlinks.' ">'.$studentpage->post_title.'</a>' . '<br />';
 }
?>