「コメントを表示せずにリンクする」オプションを選択したときにリンクテキスト自体を変更できることはわかっていますが、このリンクの上下にテキスト/ HTMLを追加する方法はありますか? discourse_replies_htmlフィルターのようなものですが、.wpdc-join-discussionの内部を変更し、Join Discussion Linkがそこに入る場所を変更します。
Kaylaさん、現在 wpdc-join-discussion の div 内の HTML を変更するためのフィルターやテンプレートはありません。どのような HTML にしたいか、ご希望の結果を教えていただけますか?あなたの(そしておそらく他の人の)ユースケースをサポートするためにフィルターを追加できるか確認します。
Angus様
ユースケースは、以下のサイトと同じです。
クラシックテーマを使用するサイトで、公開されているWordPressコメントとプライベートなDiscourseコメントが併記されています。コンテキストやユーザーエクスペリエンスのために、「ディスカッションに参加」リンクの上に、見出しと説明文を追加したいと考えています。テーマのデフォルトのウィジェットエリアを投稿エントリーの後に配置し、大量のCSSで視覚的に偽装することは可能ですが、文書構造の観点からは理想的ではありません(この場合、ウィジェットはリーダービュー/モードで記事の一部として認識されますが、実際の.wpdc-join-discussion divは認識されません)。記事レイヤーの外側に配置される新しいウィジェットエリアを作成することもできますが、このカスタマイズは論理的には「ディスカッションに参加」リンクと共に.wpdc-join-discussion divの内部に配置されるべきです。
わかりました、ありがとうございます。次回のバージョンでこのユースケースのサポートを検討します。
ご検討ありがとうございます! discourse_replies_html のようなオープンエンドなソリューションを希望します。これにより、将来的には .wpdc-join-discussion の内部に「ラッパー」div を追加したり、その他必要なものを追加したりする柔軟性が得られます。プラグイン開発の観点からもシンプルに保たれることを願っています(管理画面の設定を新しく追加する必要はありません)。
@Kayla もうすぐプラグインの別のバージョンをリリースする時期になりますので、あなたのケースに対応できているか確認したいと思います。wpdc_join_discussion_link_html フィルターをここに追加することを考えています。
$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>見出し</h3>
<p>説明/コンテキストなど。</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>見出し</h3>
<p>説明/コンテキストなど。</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 );
その新しいフィルターは次期バージョンに含まれます。ロジスティクスの問題でリリースに若干の遅延が発生するため、次期バージョンは10月上旬にリリースされる予定です。
ありがとうございます!次のリリースを楽しみにしています。 ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.