关于自定义循环和输出HTML标记

时间:2018-11-03 作者:X-MUK-625

我想让代码在页脚中显示页面标题列表。我在中生成了以下代码functions.php:

  add_action(\'yamada_action\', \'list_page_2\');

    function list_page_2() {

      global $title_yama;
      $title_yama = \'\';

      $args  = array(
        \'post_type\'   => \'page\',
        \'post_status\' => \'publish\',
      );
      $queries_yama = new WP_Query($args);
      if($queries_yama->have_posts()): while ($queries_yama->have_posts()):$queries_yama->the_post();
        $title_yama .= \'<li class="aaa"><a href="\' .get_permalink(). \'">\'.the_title().\'</a></li>\';
       endwhile; endif;
       wp_reset_query();
       return $title_yama;
 }
我输入了footer.php 以下代码:

    <?php do_action(\'yamada_action\'); ?>
但是,代码只显示文本作为标题。

我应该如何生成代码以输出包含HTML代码的内容?

3 个回复
最合适的回答,由SO网友:X-MUK-625 整理而成

非常感谢你的建议。我可以如下解决这个问题。

作用php

add_action(\'yamada_action\', \'list_page_2\');

function list_page_2() {

    $title_yama = \'\';

    $args  = array(
        \'post_type\'   => \'page\',
        \'post_status\' => \'publish\',
    );
    $queries_yama = new WP_Query($args);
    if($queries_yama->have_posts()): while ($queries_yama->have_posts()):$queries_yama->the_post();
        $title_yama .= \'<li class="aaa"><a href="\'.esc_url(get_the_permalink()). \'">\'.get_the_title().\'</a></li>\';
    endwhile; endif;
    wp_reset_query();
    echo $title_yama;
}
页脚。php

    <?php do_action(\'yamada_action\'); ?>
我修复了它如下。

删除global $title_yama;

  • 修复了href属性get_permalink()esc_url(get_the_permalink())<a> 标签the_title()get_the_title()
  • 固定returnecho

    SO网友:cjbj

    看来你是confusing actions and filters 在这里您正在使用操作。这意味着如果你想输出一些html,你必须在函数中输出。现在您正在返回值,但没有对其进行任何处理。

    所以在函数的最后一行,你应该echo $title_yama 而不是return $title_yama.

    此外,在代码中,您正在访问全局变量$title_yama, 然后将其擦除。这似乎没有多大意义。

    SO网友:yurha

    get\\u permalink()将当前帖子的permalink作为变量返回,但不回显它。尝试<a href="\' . echo esc_url(get_the_permalink()). \'">而不是

    <a href="\' .get_permalink(). \'">
    

    结束

    相关推荐

    Loop by category and meta_key

    我正在尝试为category.php 其中它基于当前类别和元键。但循环坚持显示其他类别的帖子global $taxonomy, $term; $cats = get_the_category(); $newQuery = new WP_Query( array( \'cat\' => $cats[0]->term_id, \'meta_key\' => \'p