我看到在选择“链接到评论而不显示它们”选项时,我可以更改链接文本本身,但有没有办法在此链接的上方/下方添加文本/HTML?有点像 discourse_replies_html 过滤器,但用于修改 .wpdc-join-discussion div 内部的内容以及“加入讨论链接”在其中的位置。
Kayla,目前没有过滤器或模板可以更改 wpdc-join-discussion div 中的 HTML。您能否分享您期望的结果,即您希望最终得到什么样的 HTML?我会看看是否可以添加一个过滤器来支持您(或许还有其他人)的用例。
您好 Angus,
用例与以下网站相同:
因此,在使用了经典主题的网站上,会有私有的 Discourse 评论和公开的 WordPress 评论。我希望能在“加入讨论”链接上方添加一个标题和一些文本说明,以提供上下文/改善用户体验。我能够通过一个主题默认的小工具区域(位于文章条目之后)和大量的 CSS 来模拟视觉效果,但这在文档结构方面并非理想(在这种情况下,阅读器视图/模式会将小工具识别为文章的一部分,而实际的 .wpdc-join-discussion div 则不会)。我可以创建一个新的小工具区域,使其位于文章层之外,但此自定义在逻辑上应与“加入讨论”链接一起包含在 .wpdc-join-discussion div 中。
好的,谢谢,我将在下一个版本中考虑支持此用例。
感谢您的考虑!我更倾向于像 discourse_replies_html 这样的开放式解决方案,这样我就可以灵活地在 .wpdc-join-discussion 内部添加一个内部“包装器”div,或者将来根据需要添加其他内容。我希望这也能让插件开发保持简单(无需新的管理员界面设置)。
@Kayla 很快就该发布插件的另一个版本了,我想确保我能满足你的需求。我考虑在此处添加一个 wpdc_join_discussion_link_html 过滤器 here
$link_html = '\u003cdiv class=\"wpdc-join-discussion\"\u003e\u003ca class=\"wpdc-join-discussion-link\" href=\"' . esc_url_raw( $discourse_permalink ) . '\"' . $new_tab . '\u003e' . esc_html( $link_text ) . '\u003c/a\u003e\u003c/div\u003e';
$link_html = apply_filters( 'wpdc_join_discussion_link_html', $link_html, $comments_count, $post_id );
return $link_html;
这将起到与 discourse_replies_html 过滤器相同的作用,但用于链接的 HTML。
这对你来说可以吗?
是的,我想是的。只是为了让我清楚,因为我的 PHP 知识水平仅限于根据模式/示例进行操作,所以我可以像这样使用这个过滤器吗?
function custom_discussion_link( $input ) {
ob_start();
?>
<div class="wpdc-join-discussion">
<div class="custom-wrapper-div">
<h3>Heading</h3>
<p>Explanation/context yada yada.</p>
<?php echo '<a class="wpdc-join-discussion-link" href="' . esc_url_raw( $discourse_permalink ) . '"' . $new_tab . '>' . esc_html( $link_text ) . '</a>'; ?>
</div>
</div>
<?php
$link_html = ob_get_clean();
return $link_html;
}
add_filter( 'wpdc_join_discussion_link_html', 'custom_discussion_link' );
希望这不会太离谱。![]()
好的,所以我想我需要确保你已经包含了你正在插值的变量,这对于这个过滤器来说是有意义的,即:
apply_filters( 'wpdc_join_discussion_link_html', $link_html, $discourse_permalink, $new_tab, $link_text )
然后你会像这样使用它(注意参数的数量)
function custom_discussion_link( $link_html, $discourse_permalink, $new_tab, $link_text) {
ob_start();
?>
<div class="wpdc-join-discussion">
<div class="custom-wrapper-div">
<h3>Heading</h3>
<p>Explanation/context yada yada.</p>
<?php echo '<a class="wpdc-join-discussion-link" href="' . esc_url_raw( $discourse_permalink ) . '"' . $new_tab . '>' . esc_html( $link_text ) . '</a>'; ?>
</div>
</div>
<?php
$link_html = ob_get_clean();
return $link_html;
}
add_filter( 'wpdc_join_discussion_link_html', 'custom_discussion_link', 10, 4 );
新的过滤器将在下一个版本中。由于一些后勤问题,发布将会有轻微延迟,所以下一个版本将在十月初发布。
非常感谢!我会关注下一个版本。![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.