我想在导航栏下面放置一个div
。 div的宽度必须与wordpress主题的宽度相同。这个div位于帖子和侧边栏之上,就像放置导航栏下方的广告一样。
我尝试了get_header
和loop_start
。即使在打印站点名称之前,get_header
也会将div置于顶部。 loop_start
虽然将其打印在导航栏下方,重叠,但侧边栏。
是否有任何主题独立的wordpress api(tag)可以挂钩来实现这个目标?
我知道可以编辑主题文件,但这意味着要编辑我安装的所有主题。所以我不想这样做。
我想在多站点安装。
上执行此操作谢谢..
答案 0 :(得分:2)
您可以使用add_action(loop_start,smtg)
或add_action(loop_end,smtg)
或apply_filters('the_content', $content);
喜欢:
<?php
$content = apply_filters('the_content', $content);
$content = do_your_stuff;
?>
这真的取决于你想做什么...... 点击此处:http://codex.wordpress.org/Plugin_API/Action_Reference
所有“上面 - 下面 - 重叠”并不是真正相关的 - 它们是CSS特定的.. 但如果你真的想这样做 - 你总是可以在内容上使用REGEX ......
或其他方法 - 例如:
function k99_replace_content(){
//get the content
$content= get_the_content(); //get the content as a variable
// where we want to cut ??
// by length ??
$full_length= STRLEN($content);
$cutting_point = ($full_length/ 2);
// regex ??
//do regex stuff here ..
// clip off the first part - if we choose by length
$firstpart = SUBSTR($content, 0, $cutting_point);
// ending '<br>'
$end_point = STRRPOS($firstpart, '<br>');
// add whatever
return SUBSTR($content, 0, $end_point) . "<div>put whatever you want>/div>" . SUBSTR($content, $end_point);
}
add_filter('the_content','k99_replace_content');
或最后一个选项,使用@IanB与其中一种方法一起提出的内容 - 并通过过滤器包含..
答案 1 :(得分:1)
使用div html信息创建一个文件,将其保存为div_template.php并通过ftp上传到您的主题文件。
然后,将此代码放在导航条形码下面:
<?php include('div_template.php'); ?>
这将动态添加你的div html代码,无论你想把它放在哪里。
尝试一下!
答案 2 :(得分:0)
回答我自己的问题......
函数get_header()
在 wp-includes / general-template.php中定义。放置
echo '<div> My content </div>';
中提到的<?php include 'div_template.php'; ?>
或 @IanB ,此函数定义末尾的get_headers()
解决了我的问题。
修改此功能有优势和劣势...... 优势是每个主题都无需调整为实现这是因为{{1}}与主题无关,缺点是我们所做的修改,当wordpress更新为更新版本时会被删除。
仍然感谢所有回复......
<强>和平... 强>