Utm_campaignによっては、投稿テキスト内の「nextpage」タグを削除することはできますか?
私の訪問者が来ている場所に応じて、私はを削除したいです。
<!--nextpage-->
私の投稿.
私はこれを使っています
if($_GET['utm_campaign']== 'nonextpagecampaign') {
キャンペーン名によって物事を表示するかどうかを表示するためにテンプレートに直接追加しますが、nextpageタグの場合はそれほど簡単ではありません。
the_post
フックを使って<!--nextpage-->
を削除することができます。この場合:
add_action( 'the_post', 'campaign_remove_nextpage', 99);
function campaign_remove_nextpage ( $post ) {
if ( ($_GET['utm_campaign']== 'nonextpagecampaign') && (false !== strpos( $post->post_content, '<!--nextpage-->' )) )
{
// Reset the global $pages:
$GLOBALS['pages'] = [ $post->post_content ];
// Reset the global $numpages:
$GLOBALS['numpages'] = 0;
// Reset the global $multipage:
$GLOBALS['multipage'] = false;
}
};
より一般的には、 この警告 / <!--nextpage-->
を使用した場合のSEOへの影響について読んでください。
content_pagination
を使うことができますコーデックス グローバルを直接変更せずにページ区切り付きコンテンツを変更するためのフィルタ:
add_filter( 'content_pagination', function( $pages )
{
// Target only the correct utm_campaign GET parameter
if( 'nonextpagecampaign' !== filter_input( INPUT_GET, 'utm_campaign', FILTER_SANITIZE_STRING ) )
return $pages;
// Remove the content pagination, only if it's already paginated
if( count( $pages ) > 1 )
$pages = [ join( '', $pages ) ];
return $pages;
} );
正しいutm_campaign
GETパラメータが検出されたときに、結合されたコンテンツを含む配列を返します。うまくいけばあなたはあなたのニーズに合わせてこれをさらに調整することができます。