如何在div id中使用php代码?

时间:2013-09-05 16:12:54

标签: php wordpress html title

我正在使用Wordpress中的一些PHP。 我试图给每个新帖子标题一个独特的h1 ID,取自帖子名称。

因此,如果发布名为“第1章”的帖子,标题应该是

<h1 id="Chapter 1">Chapter 1</h1>

以下代码没有做出魔术

<h1 id="<?php the_title(); ?>"><?php the_title(); ?></h1>

4 个答案:

答案 0 :(得分:1)

如果您没有回复the_title();内部但回复,则应添加echo

<h1 id="<?php echo get_the_title(); ?>"><?php echo get_the_title(); ?></h1>

OR

<h1 id="<?= get_the_title(); ?>"><?= get_the_title(); ?></h1>

- 将the_title()更改为get_the_title();

正如评论中所建议的,获取id的标题可能是一个不好的选择,你可以剥去空格或任何不是字母或数字的字符:

preg_replace('/[^A-Za-z0-9]/', '', get_the_title());

答案 1 :(得分:1)

我假设你正在使用WordPress,因为the_title显然是一个WordPress模板循环函数。

正如所解释的here空格不是ID值的有效字符。大多数浏览器会在ID中的空格后删除所有内容。

我建议使用the slug

echo basename(get_permalink())

答案 2 :(得分:1)

执行此操作的正确函数是the_ID();

例如:

<h1 id="<?php the_ID(); ?>"><?php the_title(); ?></h1>

参考链接:http://codex.wordpress.org/Function_Reference/the_ID

答案 3 :(得分:0)

global $post;定义到页面顶部以获取当前的post's数组

<h1 id="<?php echo 'Chapter'.$post->ID; ?>"><?php echo $post->post_title; ?></h1>

我建议你以上面提到的方式而不是在id属性中打印标题,因为标题可能会发生得太长,所以你的id属性将与帖子的标题相同,这是一个不好的做法。