0

我很长一段时间以来一直在为此苦苦挣扎,但找不到任何解决方案。我有一个很长的博客类型的帖子,其中有很多段落,我在我的 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 很陌生。任何帮助都感激不尽。

4

1 回答 1

1

我不建议这样做,因为当您干扰阅读内容时会混淆浏览体验。我建议你要么

  • 遵循 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 的末尾),但要采取必要的预防措施,以免干扰整体布局.

于 2018-04-16T09:59:27.907 回答