- 22, Oct 2024
- #1
У меня есть функция (она связана с использованием
content-single.php
to replace Image URLs with URLs/paths to the uploads directory - lets call it wp_link_pages()
), который затем передается в functions.php
. This works fine and stuff but on posts where I have added pagination ( add_filter('the_content', 'replaceImgURLS');
function replaceImgURLS($content) {
global $post;
$content = $post->post_content;
$newContent = preg_replace_callback(
'/<img.*src=[\'"]([^\'"]*)/i',
function ($match) {
global $post;
$imgURL = $match[1];
$filename = basename($imgURL) . "-" . $post->ID . ".jpg"; // Create image file name
$upload_dir = wp_upload_dir();
$postMonth = mysql2date('m', $post->post_date);
$postYear = mysql2date('Y', $post->post_date);
$fileURL = $upload_dir['baseurl'] . '/' . $postYear . "/" . $postMonth . "/" . $filename;
return '<img src="' . $fileURL;
},
$content
);
return $newContent;
}
), это мешает этому работать; ему не удается разделить страницы, но он по-прежнему показывает правильное количество номеров страниц внизу контента, на который вы все равно можете щелкнуть, но на каждой странице отображается один и тот же контент (т. е. весь контент, который есть в сообщении). Вот моя функция, которая заменяет URL-адреса изображений:
<!--nextpage-->
Когда я удалю эту функцию из своего add_filter('the_content', 'replaceImgUrls')
file, the pagination is restored and works as it should (i.e each page is split up separately). I have replaceImgUrls()
в моем preg_replace_callback
template file.
Спасибо за любую помощь :)
#filters #the-content #wp-link-pages