我在WordPress上有一篇约5页的分页文章。我想设置它,使上一页内容中的图像自动链接到下一页。
我在中使用了以下代码functions.php 文件:
<?php
add_action(\'the_content\',function($content) {
global $page, $numpages, $multipage;
if ( $multipage ) {
$nextPage = $page + 1;
if ( $nextPage <= $numpages ) {
$link = _wp_link_page( $nextPage );
$content = preg_replace(\'/(<img(.+?)\\/>)/i\',\'<a href="\'.$link.\'">$1</a>\', $content);
}
}
// send back our content, modified or not
return $content;
});
?>
上面的代码几乎可以工作。当我替换
$link 实际URL的变量,例如。
http://google.com, 分页帖子中的所有图像最终链接到
google.com. 但是,当我放置变量时
$link 在那里,没有任何图像链接到任何地方。不确定我使用
_wp_link_page 变量
我完全不明白为什么当$link 变量已放置,但它可与任何其他值一起使用。
希望有人能帮忙。让我知道!
谢谢
最合适的回答,由SO网友:Sally CJ 整理而成
_wp_link_page() 返回HTML字符串,而不仅仅是链接的URL地址。因此,如果链接的URL地址是http://example.com/blah/2/, 然后_wp_link_page() 将返回:
<a href="http://example.com/blah/2/">
。。i、 e.返回开口
a 标记该链接。
因此,请更换以下部件:
$content = preg_replace(\'/(<img(.+?)\\/>)/i\',\'<a href="\'.$link.\'">$1</a>\', $content);
。。使用此选项:
$content = preg_replace(\'/(<img(.+?)\\/>)/i\', $link . \'$1</a>\', $content);