[英]Wordpress, editing links
我正在嘗試更改目的地,請在wordpress中閱讀更多鏈接:
我在frontpage.php中找到了以下代碼:
<?php
foreach ($query as $post) {
setup_postdata($post);
printf('<div>');
printf('<div class="box">');
printf('<h4>%s</h4>', $post->post_title);
printf('<img src="%s" />', wp_get_attachment_image_src(get_post_thumbnail_id(get_the_id()), 'full')[0]);
printf('<p>%s</p>', get_the_excerpt($post->ID));
printf('<a href="%s" class="button">Read more</a>', post_permalink($post->ID));
printf('</div>');
printf('</div>');
}
wp_reset_postdata();
?>
我想我可以擺弄和編輯鏈接,以便它們通過此PHP轉到我設計的頁面,但是我想知道如何通過Wordpress Admin界面進行操作。
因為據說wordpress應該會讓您容易些,但是在這些更多閱讀鏈接上我似乎找不到任何東西,除了我在PHP中找到的代碼。
您知道更改鏈接目標的“ WordPress方式”嗎?
“更多”鏈接指向該特定帖子的網址; 鑒於上下文,更改目的地沒有多大意義。 聽起來您的問題不僅僅在於更改鏈接本身 ,還在於您需要更改其實際鏈接到的頁面的設計。 在這種情況下,如果目標是頁面,則應查看頁面模板,如果目標是頁面,則應查看自定義帖子類型 。
看着其他一些問題,我發現您是WordPress的新手。 以下是示例工作方式的簡短摘要,希望您可以更好地理解:
$query
的內容(在您的示例中,該內容包含3個帖子),然后為每個帖子運行{}
括號之間的所有函數。 這就是為什么您最終獲得三個帖子/圖像/鏈接的原因; 該函數運行三次,每次在$query
找到的每個帖子一次 {}
括號內, $post
指的是該特定帖子。 $post->ID
返回該帖子的唯一ID號。 get_the_excerpt()
函數獲取該特定帖子的摘錄(內容的一小部分)。 您將其傳遞給$post->ID
,以便它獲取正確帖子的摘錄。 post_permalink()
函數post_permalink()
該特定帖子的網址。 同樣,在您的示例中,您將其傳遞給$post->ID
您應該閱讀The Loop ; 它構成了WordPress工作方式的基礎。 如果您能解決問題,那您就到了一半。
閱讀對鏈接的評論后,提供的回復很簡單:“ WordPress”方式是代碼,提供的URL包含您需要了解的所有信息。 至少沒有本機方式,沒有管理方式。
但是,在提供的代碼中,有一行顯示“更多內容”,即:
printf('<a href="%s" class="button">Read more</a>', post_permalink($post->ID));
基本上,這行代碼是指向相應的帖子:它調用post_permalink函數,然后$ post-> ID告訴該函數打開哪個帖子。
從理論上講,您可以通過將該行更改為簡單的HTML來更改鏈接:
printf('<a href="%s" class="button">Read more</a>', 'http://www.yoururl.com');
這應該可以解決您的問題。
正確的方法:
在帖子中添加一個自定義字段,插入網址並將其加載到循環中。
編輯:更好地解決OP問題
由於這是一個循環,在您的代碼中由foreach表示 ,因此該代碼執行一次,並且在每個循環中,$ post-> ID都會自動更改。 通過使用固定的網址更改循環,您的3個帖子將鏈接到同一位置。
有多種更改行為的方法,最簡單,最干凈,更有效的方法是在帖子中添加自定義字段。 這將在Post admin區域中創建一個字段,您插入URL並在前端訪問它。 這樣,您所有的帖子都可以鏈接到所需的位置。
例如:
您的代碼行需要這樣的內容:
printf('<a href="%s" class="button">Read more</a>', get_post_meta( $post->ID, 'URL');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.