我有一個Portfolio page的Wordpress網站。對於每個投資組合件,我想要一個FB Like按鈕。很簡單。這是鬼鬼祟祟的位:如何在投資組合集合頁面上將「Like」URL指向ID,而不是單個頁面?
通常在一個相似的設置,例如,一個博客,您可以將Like URL設置爲指向它所附帶的帖子的單個文章頁面。但是對於這個投資組合,沒有任何單個頁面,投資組合只是一個頁面。該網址應該指向特定帖子的ID,例如http://example.com/our-work/#post-244,而不是(不存在的)http://example.com/our-work/new-client-print.html
這花了20分鐘時間爲頁面上的Tweet按鈕設置,但我在第三天試圖讓這個去Facebook贊。
我想出的最好主意是設置投資組合文章頁面,然後設置一個.htaccess重新路由到整個頁面。但是這些變量是隨機的,所以我甚至沒有嘗試過,並且在Facebook上顯示的URL將是不正確的。
像往常一樣,截止日期是今天,所以任何幫助將不勝感激。
更新:
我有點懂了工作,但最終沒有使用它。我會在最後解釋。
我複製了我用來添加id="post-##"
的文章模板中的代碼。
在我的情況下,這是循環內。所以,我的FB:像這個樣子:
<fb:like href="http://example.com/our-work/#post-<?php the_ID(); ?>" layout="box_count" show_faces="false" width="70" colorscheme="light"></fb:like>
我還需要得到元og:url
代碼指向所有這些額外的URL爲Like'ing工作。爲此,我使用了
<?php
global $post;
$tmp_post = $post;
$args = array('post_type' => 'work');
$custom_posts = get_posts($args);
foreach($custom_posts as $post) : setup_postdata($post);
?>
<meta property="og:url" content="http://example.com/our-work/#post-<?php the_ID(); ?>"/>
<?php
endforeach;
$post = $tmp_post;
?>
Facebook Linter並不喜歡多og:url的,但它仍然有效。
但是,這樣做的URL將指向正確,但我仍然缺少獲得正確的圖像,標題和說明。我本可以使用相同的循環,但不知道如何將它用於驗證。而且我最終會得到一個巨大的meta ...
希望這可能會幫助別人。
感謝拾起,我給它一個去。沒有意識到我可以有多個og:url的。我仍然喜歡它加載不同的og:title,og:description和og:image,但是現在看起來就像是開銷一樣。 – Eystein