PHPで設定したサイト全体に共通するogのimageのcontentを特定のページだけ変更したい
PHP初心者です。
open graph imageを変更できなくて困っています。
・サイト全体で、head.phpと言う共有のファイルを読み込んでいる。そこには、og:imageのcontentについて下記のように記述されている。
<?php if(file_exists(dirname(__FILE__).'OG用画像.jpg')) : ?>
<meta property="og:image" content="<?php echo location_file.'images/ogp.jpg'; ?>">
<?php endif; ?>
・とあるページでは、上記共通の画像('OG用画像.jpg')ではなくて、別の画像を表示させたいが、設定の仕方がわからない。htmlのhead内に直接と記載しても反映されない。
そのページのソースをブラウザ上で表示すると、
<meta property="og:image" content="OG用画像.jpg">
と
<meta property="og:image" content="表示させたい画像">
が両方表示されている。
・facebookのdebuggerで表示されるのは、最初の「OG用画像.jpg」のみ
アドバイスやご指摘、よろしくお願いいたします。
6/19 11:18 以下追記
コメントありがとうございます。
ディレクトリに関しては、以下のような形になっています。
以下4つが同じディレクトリ内
①index.php
②templatesフォルダ
>
head.php
③recruitmentフォルダ
>
index.php
>
position1.php(とあるページ)
>
imagesフォルダ > 表示させたい画像.jpg
④images
>
OG用画像.jpg
というのはどこで定義しているのでしょうか?
「どこで定義している」というのは、どのように回答すればよろしいでしょうか?
contentの中には、https://から始まる画像のURLを絶対パスで入力しています。
OGの画像を変更したいとあるページ(position1.php)のphpファイルのheadタグ内に直接書き込んでいる状態です。
とあるページは同じディレクトリ内に置いてあるものなのでしょうか?
とあるページのソースコードと置いてあるディレクトリ等(ディレクトリ名などは適当で構いません)を共有してい>ただければより詳しく考えることが出来るかと思います
head.phpのソースコードです。
<!DOCTYPE html>
<html class="<?php echo $htmlClass; ?>">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# website: http://ogp.me/ns/website#">
<meta charset="utf-8">
<title><?php echo $meta['title']; ?></title>
<meta name="keywords" content="<?php echo $meta['keywords']; ?>">
<meta name="description" content="<?php echo $meta['description']; ?>">
<meta name="viewport" content="width=device-width, initial-scale=0.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<meta name="format-detection" content="telephone=no">
<link rel="index" href="<?php echo location; ?>">
<?php if(file_exists(dirname(__FILE__).'/../images/favicon.ico')) : ?>
<!-- favicon -->
<link rel="shortcut icon" href="<?php echo location_file.'images/favicon.ico'; ?>">
<?php endif; ?>
<?php if(file_exists(dirname(__FILE__).'/../images/apple-touch-icon.png')) : ?>
<!-- apple-touch-icon -->
<link rel="apple-touch-icon" href="<?php echo location_file.'images/apple-touch-icon.png'; ?>">
<?php endif; ?>
<!-- Open graph tags -->
<meta property="og:site_name" content="<?php echo TITLE; ?>">
<meta property="og:title" content="<?php echo $meta['title']; ?>">
<meta property="og:type" content="website">
<meta property="og:url" content="<?php echo (empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; ?>">
<meta property="og:description" content="<?php echo $meta['description']; ?>">
<?php if(file_exists(dirname(__FILE__).'/../images/ogp.jpg')) : ?>
<meta property="og:image" content="<?php echo location_file.'images/ogp.jpg'; ?>">
<?php endif; ?>
質問文中に「htmlのhead内に直接変更した」とありますが、どのように変更を実施したか、追記いただけますか?
変更は、<!-- *** og *** -->
以下のmeta propertyの記述を直接記述しました。OGの画像を変更しようとしたページのhtmlを示します。(上に示したファイルで言うと、position1.phpに当たります)。include.phpは、head.phpを読み込むためのファイルです。
<?php $page = 'recruit__yoga'; $name_jp = 'ヨガ担当'; $name_en = 'yoga'; include "../config/include.php"; ?>
<!-- *** og *** -->
<meta property="og:image" content="https://省略/recruitment/images/img_yoga_saiyou.jpg">
<!-- *** stylesheet *** -->
<?php include "../templates/common_css.php"; ?>
<link href="../css/recruitment20180618.css" rel="stylesheet" type="text/css" media="all">
<link href="../css/recruit__yoga.css" rel="stylesheet" type="text/css" media="all">
<!-- *** javascript *** -->
<?php include "../templates/common_js.php"; ?>
<script type="text/javascript" src="../js/recruitment.js"></script>
<script>
</head>