หากคุณเป็นเหมือนฉันบางครั้งคุณต้องการที่จะสามารถอ้างอิงฟังก์ชั่น WordPress ในหน้าซึ่งไม่มีอยู่ใน CMS วิธีนี้จะยังคงอยู่เฉพาะแบ็กเอนด์และลูกค้าไม่สามารถลบได้โดยไม่ตั้งใจ
นี้เป็นเรื่องง่ายจริงจะทำเพียงแค่โดยรวมwp-blog-header.php
ไฟล์โดยใช้ require()
PHP
นี่คือตัวอย่างที่ใช้สตริงการสืบค้นเพื่อสร้างข้อมูล Facebook Open Graph (OG) สำหรับโพสต์ใด ๆ
นำตัวอย่างลิงค์http://example.com/yourfilename.php?1
ที่1
เป็น ID ของโพสต์ที่เราต้องการสร้างข้อมูล OG สำหรับ:
ตอนนี้ในเนื้อหาyourfilename.php
ซึ่งเพื่อความสะดวกของเราตั้งอยู่ในไดเรกทอรีรากของ WordPress:
<?php
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
$uri = $_SERVER['REQUEST_URI'];
$pieces = explode("?", $uri);
$post_id = intval( $pieces[1] );
// og:title
$title = get_the_title($post_id);
// og:description
$post = get_post($post_id);
$descr = $post->post_excerpt;
// og:image
$img_data_array = get_attached_media('image', $post_id);
$img_src = null;
$img_count = 0;
foreach ( $img_data_array as $img_data ) {
if ( $img_count > 0 ) {
break;
} else {
++$img_count;
$img_src = $img_data->guid;
}
} // end og:image
?>
<!DOCTYPE HTML>
<html>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=yes" />
<meta property="og:title" content="<?php echo $title; ?>" />
<meta property="og:description" content="<?php echo $descr; ?>" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<meta property="og:url" content="<?php echo site_url().'/your_redirect_path'.$post_id; ?>" />
<meta property="og:image" content="<?php echo $img_src; ?>" />
<meta property="og:site_name" content="Your Title" />
</html>
ที่นั่นคุณมี: สร้างแบบจำลองการแชร์สำหรับโพสต์ใด ๆ โดยใช้รูปภาพจริงของข้อความที่ตัดตอนมาและชื่อ!
เราสามารถสร้างเทมเพลตพิเศษและแก้ไขโครงสร้าง permalink เพื่อทำสิ่งนี้ แต่เนื่องจากมันจำเป็นสำหรับหน้าเดียวเท่านั้นและเนื่องจากเราไม่ต้องการให้ลูกค้าลบออกจากภายใน CMS จึงดูเหมือนว่าตัวเลือกที่สะอาดกว่า
แก้ไข 2017:
โปรดทราบว่าวิธีการนี้ไม่ได้รับการสนับสนุน
สำหรับการติดตั้ง WordPress ตั้งแต่ปี 2016 โปรดดูที่ฉันจะเพิ่มหน้า PHP ไปยัง WordPress ได้อย่างไร สำหรับพารามิเตอร์เพิ่มเติมที่จะรวมก่อนที่จะส่งออกข้อมูลหน้าของคุณไปยังเบราว์เซอร์