所以我决定使用以下代码(完全了解,这是可以优化的)
首先,我得到了url,这将我带到404模板。我检查,如果它包含术语;节点“;,这表明,这是一个指向drupal版本条目的链接,然后我将其拆分,直到我得到“No No No modHFGen.dll;节点/quot;。然后,我创建一个新的查询,其中包含该过程的所有可能的post类型,检查是否有一个,其中存储在acf字段中的节点号匹配。最后,我获得找到的帖子的永久链接,然后通过javascript替换html文档。
<?php
/* 404 Template including redirect for old database entries
*/
get_header();
$re_link = $_SERVER[\'REQUEST_URI\'];
if (strpos($re_link, \'node\')) {
$re_link_number = explode(\'/\', $re_link);
}
$p_type = array(\'objects\', \'texts\', \'video\', \'audio\', \'pictures\', \'instruments\', \'essays\', \'people\', \'locations\', \'sets\', \'collections\', \'companions\');
$args = array(
\'post_type\' => $p_type,
\'posts_per_page\' => 10000,
);
$all = new WP_Query($args);
while ($all->have_posts()) : $all->the_post();
if ((get_field(\'node_number\') == $re_link_number[2]) && ($re_link_number[2] != \'\')) { ?>
<script>window.location.replace("<?php echo get_permalink(); ?>");</script>
<?php }
endwhile;