![](/img/trans.png)
[英]How to loop through custom posts in Wordpress and display according to page title
[英]How to catch a URL parameter and display a custom page title in wordpress
作為一個新手,我問了很多有償開發商,他們要么說“ 不” ,要么說價格過高,或者說“ 無法 實現” 。
但是,通過這里的所有交互,我在網站上幾乎沒有取得什么成就。 因此想到了第二點意見。
如果交易成功,則自定義網關付款插件將返回Woocommerce謝謝頁面,但如果付款失敗,則會返回到正常的wordpress頁面-failed-payment。
對於失敗的付款,返回URL為:
mysite.com/failed-payment/?b_name=Jack.
在失敗的付款頁面上,我想顯示個性化的頁面標題,對不起,傑克,您的付款失敗。
創建新頁面模板或修改頁面模板文件不是一種選擇。 必須通過主題功能來完成。 php 。
為了寫頁面標題,我想到了以下主題功能。 的PHP :
function assignPageTitle( $title ){
if ( is_page(3062) ) {
$title = sprintf("Sorry, %s, Your payment was unnsuccessful", b_name);
}
return $title;
}
add_filter('wp_title', 'assignPageTitle');
是可以實現的還是不可能的? 如果可以實現,我應該如何做呢?
謝謝。
要從URL參數中捕獲b_name並將其分配給php變量,如下所示:
$b_name = $_GET['b_name'];
現在,您可以在代碼中使用它,例如:
$title = sprintf("Sorry, %s, Your payment was unnsuccessful", $b_name);
另外,我將稍微修改您的代碼以僅在b_name可用時更改標題(注意:我尚未測試您的WP代碼,因此按原樣使用:)
function assignPageTitle( $title ){
if ( is_page(3062) && isset($_GET['b_name']) ) {
$b_name = $_GET['b_name'];
$title = sprintf("Sorry, %s, Your payment was unnsuccessful", $b_name);
}
return $title;
}
add_filter('wp_title', 'assignPageTitle');
請參閱,我如何為GET參數添加條件isset(),以便僅當URL中有?b_name =時,它才嘗試更改頁面標題。
通過在主題函數.php中添加以下代碼,您可以修改頁面標題,而無需更改/修改任何模板文件:
//modify page title:
function assignPageTitle($title){
$title = $_GET['b_name'];
if ( is_page(3062) ) {
return $title;
}
else{
return $title;
}
}
add_filter('pre_get_document_title', 'assignPageTitle');
//Modify entry title
add_filter( 'the_title', 'suppress_title', 10, 2 );
function suppress_title($title, $id = null){
$b_name = $_GET['title'];
if ( is_page(3062) ) {
$title = sprintf("Sorry, %s, Your payment was unnsuccessful", $b_name);
}
return $title;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.