WordPress/PHP:将帖子拆分为不同的页面或不依赖于源

WordPress/PHP:将帖子拆分为不同的页面或不依赖于源,php,wordpress,Php,Wordpress,对于那些可能不知道的人,在WP中,我们可以通过在希望分页符出现的位置添加来拆分帖子。这将创建一个分页,其中每个部分都有自己的页面 我想做的是,根据URL中的utm_源(例如:?utm_source=fb),我希望显示分页格式,否则将显示单页格式 简单地说,如果源代码是FB,我帖子中的将被执行,或者如果源代码不是FB,将不会执行 如果我只知道如何在后端与帖子内容交互,而不是用户可以看到的最终结果,那么我可以使用JS/JQuery做一些事情。如果必须用PHP来完成,我已经准备好学习如何让它工作。出于

对于那些可能不知道的人,在WP中,我们可以通过在希望分页符出现的位置添加
来拆分帖子。这将创建一个分页,其中每个部分都有自己的页面

我想做的是,根据URL中的utm_源(例如:?utm_source=fb),我希望显示分页格式,否则将显示单页格式

简单地说,如果源代码是FB,我帖子中的
将被执行,或者如果源代码不是FB,
将不会执行


如果我只知道如何在后端与帖子内容交互,而不是用户可以看到的最终结果,那么我可以使用JS/JQuery做一些事情。如果必须用PHP来完成,我已经准备好学习如何让它工作。出于这些原因,我没有代码可供显示,但很遗憾,我花了大量时间寻找解决方案,但没有成功。

最好在后端完成。您需要修改
single.php
post模板,并根据查询变量使用php代码显示(或不显示)部分

过于简化的示例:

<?php

get_header();

if( !isset( $_GET['utm_source'] ) ) $_GET['utm_source'] = '';

switch( $_GET['utm_source'] ){
    case 'fb':
        // do the Facebook stuff here
        the_excerpt();
        break;
    case 'something-else':
        // do the other stuff here
        the_excerpt();
        break;
    default:
        // if no matching utm_source variable, do this instead
        the_content();
}

get_footer();

最好在后端完成。您需要修改
single.php
post模板,并根据查询变量使用php代码显示(或不显示)部分

过于简化的示例:

<?php

get_header();

if( !isset( $_GET['utm_source'] ) ) $_GET['utm_source'] = '';

switch( $_GET['utm_source'] ){
    case 'fb':
        // do the Facebook stuff here
        the_excerpt();
        break;
    case 'something-else':
        // do the other stuff here
        the_excerpt();
        break;
    default:
        // if no matching utm_source variable, do this instead
        the_content();
}

get_footer();

WP很早就确定并执行内容的拆分。我最终通过在循环开始中添加一个动作,在源代码不是FB的情况下删除下一页的注释,使它能够工作\

仔细考虑是否要限制此操作在任何其他情况下开火,或仅在某些帖子上开火。目前,它将尝试在每个帖子上删除下一页

function strip_next_tags_action () { 
    global $post;
         // put any other if conditions here
        if ( !isset( $_GET['utm_source'] )  or !($_GET['utm_source'] == 'fb')) {
            $post->post_content = str_replace("<!--nextpage-->", "",                
                                  $post->post_content, $count);
        }
        return $post;
    }
    add_action ('loop_start', 'strip_next_tags_action');
function strip\u next\u tags\u action(){
全球$员额;
//在这里输入任何其他if条件
如果(!isset($\u GET['utm\u source'])或!($\u GET['utm\u source']=='fb')){
$post->post\u content=str\u replace(“,”,
$post->post\u内容,$count);
}
退回$post;
}
添加动作(“循环开始”、“剥离下一步”标记动作);

WP很早就确定并执行内容的拆分。我最终通过在循环开始中添加一个动作,在源代码不是FB的情况下删除下一页的注释,使它能够工作\

仔细考虑是否要限制此操作在任何其他情况下开火,或仅在某些帖子上开火。目前,它将尝试在每个帖子上删除下一页

function strip_next_tags_action () { 
    global $post;
         // put any other if conditions here
        if ( !isset( $_GET['utm_source'] )  or !($_GET['utm_source'] == 'fb')) {
            $post->post_content = str_replace("<!--nextpage-->", "",                
                                  $post->post_content, $count);
        }
        return $post;
    }
    add_action ('loop_start', 'strip_next_tags_action');
function strip\u next\u tags\u action(){
全球$员额;
//在这里输入任何其他if条件
如果(!isset($\u GET['utm\u source'])或!($\u GET['utm\u source']=='fb')){
$post->post\u content=str\u replace(“,”,
$post->post\u内容,$count);
}
退回$post;
}
添加动作(“循环开始”、“剥离下一步”标记动作);

帕特里克,谢谢你抽出时间帮助我,非常感谢。正如我在第一篇文章中所说,我主要关心的是如何在后端更改代码无法解决的问题。我想知道如何在你的代码中做“做FB的事情”。再次感谢。请看我编辑过的问题,我有一些格式问题,所以我想告诉你一些信息,帕特里克,谢谢你花时间帮助我。正如我在第一篇文章中所说,我主要关心的是如何在后端更改代码无法解决的问题。我想知道如何在你的代码中做“做FB的事情”。再次感谢。请看我编辑的问题,我遇到了一些格式问题,因此缺少一些信息