繁体   English   中英

如何保持URL参数Wordpress

[英]How to keep url parameter Wordpress

我在自己的网站上创建了自己的搜索,并且创建了包含<php>代码的页面搜索结果页面,在搜索结果页面上使用了插件PHP-Exec。 我创建了分页,但似乎无法正常工作。 当我为自己搜索的下一个结果单击“下一步”时,url参数将重定向到错误的url。

网址应为:

http://inindonesia.org/hasil-pencarian?phrase=sofa+bed&page=1

但是,它重定向到:

http://inindonesia.org/hasil-pencarian/1?phrase=sofa bed

确实是错误的URL,我感到困惑,因为它会自动影响我自己的搜索结果:(。有关信息,我使用Wordpress Multisite,有什么想法可以保留我的URL参数?

这是我的代码:

<?php
$dbhost = 'myhost';
$dbuser = 'mydbuser';
$dbpass = 'mydbpass';
$hasil = $_GET[phrase];
$type = str_replace(' ','+',$hasil);
$rec_limit = 2;

$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ){
  die('Database tidak terkoneksi' . mysql_error());
}

mysql_select_db('mydb');
    $sql = "SELECT count(wp_mp_term_relationships.post_id) FROM `wp_mp_term_relationships` INNER JOIN wp_mp_products ON wp_mp_products.id = wp_mp_term_relationships.post_id INNER JOIN wp_mp_terms ON wp_mp_terms.term_id = wp_mp_term_relationships.term_id WHERE wp_mp_terms.name = '$hasil'";   
    $retval = mysql_query( $sql, $conn );

if(! $retval ){
  die('Tidak dapat Menerima Data: ' . mysql_error());
}

    $row = mysql_fetch_array($retval, MYSQL_NUM );
    $rec_count = $row[0];

if( isset($_GET{'page'} ) ){
   $page = $_GET{'page'} + 1;
   $offset = $rec_limit * $page ;
}else{
   $page = 0;
   $offset = 0;
}

$left_rec = $rec_count - ($page * $rec_limit);
$query = "SELECT * FROM `wp_mp_term_relationships` INNER JOIN wp_mp_products ON wp_mp_products.id = wp_mp_term_relationships.post_id INNER JOIN wp_mp_terms ON wp_mp_terms.term_id = wp_mp_term_relationships.term_id WHERE wp_mp_terms.name = '$hasil' LIMIT $offset, $rec_limit";
$query_retval = mysql_query( $query, $conn );

if(! $query_retval ){
  die('Tidak dapat menerima data ' . mysql_error());
}

while($result = mysql_fetch_array($query_retval, MYSQL_ASSOC)) {
    echo "<h3><a href=" . $result[post_permalink] . " target=_blank>" . $result[post_title] . "</a></h3>";
    $content = $result[post_content];
    $content_len = strlen($content);
    if ( $content_len > 150 ){
        echo "<div style='margin-left: 26px; margin-top: 6px; margin-bottom: -26px;'><h3 style='font-size: 13px; line-height: -0.5'>" . substr($content, 0, 150) . " ...<a href=" . $result[post_permalink] . " target=_blank> (more)</a></h3></div>";
    }else{
        echo "<div style='margin-left: 26px; margin-top: 6px; margin-bottom: -26px;'><h3 style='font-size: 13px; line-height: -0.5'>" . $content . "</h3></div>";
    }
    echo "<hr>"; 
 }

if( $page > 0 ){
   $last = $page - 1;
   echo "<a href=\"$_PHP_SELF?phrase=$type&page=$last\">Last 5 Records</a> |";
   echo "<a href=\"$_PHP_SELF?phrase=$type&page=$page\">Next 5 Records</a>";
}else if( $page == 0 ){
   echo "<p>" . $_PHP_SELF . "?phrase=" . $type . "&page=" . $page . "</p>";
   echo "<a href=\"$_PHP_SELF?phrase=$type&page=$page\">Next 5 Records</a>";
}else if( $left_rec < $rec_limit ){
   $last = $page - 1;
   echo "<a href=\"$_PHP_SELF?phrase=$&page=$last\">Last 5 Records</a>";
}

mysql_close($conn);
?>

不要使用关键的“页面”进行分页。 而是使用其他键来标识您的页码,因为它是您自定义的搜索代码。

当您在查询字符串中传递页面时,wordpress将检测为页面参数并重定向到用于页面调度的默认URL结构( http://inindonesia.org/hasil-pencarian/1

当您更改分页键时,wordpress将无法识别页面调度,也不会更改您的URL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM