我在很长一段时间内都在苦苦挣扎,但找不到任何解决方案。我有一个非常长的博客类型的帖子,有很多段落,我在Question2Answer网站上添加了一个问题。我想在第3段之后添加adsense代码,但是如果不修改php代码就没有办法做到这一点。我阅读了Q2A文档,根据我的理解,我需要更改qa_view函数。这是用于在qa-theme.php中显示问题内容的原始代码:
public function q_view_content($q_view)
{
$content = isset($q_view['content']) ? $q_view['content'] : '';
$this->output('<div class="qa-q-view-content">');
$this->output_raw($content);
$this->output('</div>');
}
但是,我不知道如何在这里添加javascipt代码并将其引用到特定的帖子ID。我正在考虑在特定段落之后添加包装div,但我不知道如何实现这一点,因为我对php非常新。任何帮助将不胜感激。
答案 0 :(得分:1)
我不建议这样做,因为当您干扰阅读内容时,它会混淆浏览体验。 我建议你
如果您坚持使用JS或JQuery查询问题的第三个
子项,请使用insertAfter,例如:
?>
var ADS = document.createElement( 'div' );
ADS.innerHtml = ' ... the Html content of your ADS banner' ;
var question = document.getElementById( 'question-id' );
var paragraphe = question.querySelectorAll('p')[2]; // third
question.insertBefore( ADS , question.children(2).sibling );
// sibling is used to insert rather after the paragraph
<?php
此代码将根据您的用例进行测试和调整,然后附加到相应的php文件(可能在qa-include / qa-base.php的末尾),但采取必要的预防措施,不会干扰总体布局。