wakaba
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをするタグ付けされる文章が改行を含んでいたため、修飾子sを追加しました。
if ( preg_match_all( "/<p\s+$tag\s*>(.+?)<\/p>/s", $content, $matches ) )
フォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをするフォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをするフォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをする固定ページにて、タグ(A)が付いた文章と記事タイトルを以下のように表示することができるようになりました。
タグ(A)
文章(あいうえお)- 記事タイトル(1)
文章(たちつてと)- 記事タイトル(2)当初の要望はクリアできたのですが、記事タイトルを表示するだけでなく、もとの記事へのリンクを持たせるにはどうすればいいのでしょうか。記事タイトル(1)をクリックすると、記事タイトル(1)のページへ遷移するようにしたいのですが、以下の部分を変えればいいような気がするくらいしかわからないため、ご教授頂けないでしょうか。
$link = get_permalink( $post );
でURLを取得して、
$ret .= "<div> $match − $title $link</div>";
で記事のURLも追加表示をするところまではできたのですが、URLを表示するのではなく、リンクとするにはどうすればいいのでしょうか。
フォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをするフォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをするご教授頂いた通り、以下のコードで動作いたしました。
add_shortcode( 'tagged_posts', function( $atts = array() ) { extract( shortcode_atts( array( 'tag' => '', 'title' => '' ), $atts ) ); $ret = '<div>' . esc_html( $title ) . '</div>'; $tag = 'data-tag="' . $tag . '"'; $tagged_posts = get_posts( array( 's' => $tag, 'posts_per_page' => -1, // 全件取得 ) ); foreach ( $tagged_posts as $post ) { setup_postdata( $post ); $content = apply_filters( 'the_content', get_the_content() ); if ( preg_match_all( "/<p\s+$tag\s*>(.+?)<\/p>/", $content, $matches ) ) { $title = get_the_title( $post ); foreach ( $matches[1] as $match ) { $ret .= "<div> $match ( $title ) </br>"; } } } wp_reset_postdata(); return $ret; } );
ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをするありがとうございます。
ご教授頂いた内容で、固定ページにて「文章」は表示することができました。しかしながら、各文章の後に表示される「タイトル」が記事毎のタイトルではなく、固定ページのタイトルが表示されました。(くりかえし固定ページのタイトルが表示される)
記事毎のタイトルを表示させることも可能でしょうか。よろしくお願いいたします。
【現状】
タグ(A)
文章(あいうえお)- 固定ページタイトル
文章(たちつてと)- 固定ページタイトル【要件】
タグ(A)
文章(あいうえお)- 記事タイトル(1)
文章(たちつてと)- 記事タイトル(2)フォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをするありがとうございます。
具体的には、固定ページもしくは別の投稿ページにて、タグ指定された文章のみを表示させたいのですが、以下のコードを書いても、コードがそのまま表示されてしまいます。これはPHPページに書かないといけないのですよね。直接固定ページに書き込んで利用する方法はございますでしょうか。
$tag = ‘data-tag=”A”‘; // タグ(A)を指定
echo ‘<div>タグ(A)</div>’;
$tagged_posts = get_posts( array(
‘s’ => $tag,
‘posts_per_page’ => -1, // 全件取得
) );
foreach ( $tagged_posts as $post ) {
setup_postdata( $post );
$content = apply_filters( ‘the_content’, get_the_content() );
if ( preg_match_all( “/<p\s+$tag\s*>(.+?)<\/p>/”, $content, $matches ) ) {
$title = get_the_title();
foreach ( $matches[1] as $match ) {
echo “<div> $match − $title</div>”;
}
}
}
wp_reset_postdata();フォーラム: 使い方全般
返信が含まれるトピック: 投稿記事内の指定文章にタグ付けをする