我已经为此苦苦挣扎了很长一段时间,但找不到任何解决方案。我有一篇很长的博客类型的文章,其中有很多段落,我已将其作为问题添加到我的 Question2Answer 网站中。我想将 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 非常陌生。任何帮助将不胜感激。
最佳答案
我不建议这样做,因为它会干扰阅读内容,从而使浏览体验变得困惑。 我建议你要么
- 遵循 StackOverflow 风格,将广告横幅放在顶部或顶部 页面的一侧
- 或者遵循 Quora 风格,创建一个“查看更多”按钮,然后将 您的广告,以便内容和广告之间有明显的分离。
如果您坚持使用 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 的末尾),但采取必要的预防措施,以免干扰整体布局。
关于javascript - 在 Question2Answer 中特定帖子的第 n 段后添加 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49801774/