Я изо всех сил пытаюсь переписать URL. До н.э. Facebook не выполняет 301 переадресацию для лайков (тьфу) Мне нужно найти способ переписать og:url
Параметр wordpress выплевывает, чтобы получить http вместо https.
Я пытаюсь следующее безрезультатно:
<?php
$oldlink = get_permalink(get_the_id());
$newlink = str_replace('https', 'http', $oldlink);
?>
<meta property="og:url" content="<?php echo $newlink ?>"/>
Есть идеи, почему этот метод может не работать?
Если вы используете его в header.php и страница, которую вы загружаете — это один пост / страница / пользовательский пост, вы можете использовать the_post (); перед вашим заявлением, чтобы начать цикл.
<?php the_post(); ?>
<meta property="og:url" content="<?php $oldlink = get_permalink(get_the_id()); $newlink=str_replace('https','http',$oldlink); echo $newlink; ?>" />
Дело в том, что функция get_the_id () работает только внутри цикла, поэтому без ее инициализации она возвращает результаты сбоев, в результате чего функция get_permalink не возвращает ничего полезного.
Но будьте осторожны, если вы вызовете the_post позже на той же самой странице после первой, это может испортить вывод ваших данных. Поэтому обязательно вызывайте его только один раз для одной страницы (если вы не создаете пользовательский цикл курса).
Других решений пока нет …