• michir

    (@michir)


    get_pagenum_link を使ってページネーションを実装しました。

    URLの造りが、
    http://example.com?parameter=on
    というような形になっているのですが、
    パラメータに引数が設定されている場合は、
    2ページ目のURLが、
    http://example.com/page/2?parameter1=on
    となり、問題ないのですが、
    パラメータに引数が設定されていない、以下のような場合もあり、
    http://example.com?parameter=
    その場合は、2ページ目のURLが、
    http://example.com/page/2?parameter
    となり、「=」が消えてしまいます。

    ついては、「=」が消えない方法をご存知でしたら、ご教示くださいますようお願い申し上げます。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • ishitaka

    (@ishitaka)

    こんにちは

    get_pagenum_link() ではそのようなリンクになります。
    単純に get_pagenum_link() が返したリンクに「=」を追加するのでは駄目なのでしょうか?

    とりあえず全パラメーターにおいて「=」を省略しない get_pagenum_link() ライクの関数を作成してみました。参考になりませんでしょうか。

    functions.php に、

    function get_pagenum_link_custom( $pagenum = 1, $escape = true ) {
    	$link = get_pagenum_link( $pagenum, true );
    	if ( strpos( $link, '?' ) !== false ) {
    		list( $base, $query ) = explode( '?', $link, 2 );
    		parse_str( $query, $parms );
    		foreach ( $parms as $key => $value ) {
    			$querys[] = "{$key}={$value}";
    		}
    		$link = $base . '?' . implode( '&', $querys );
    	}
    	if ( $escape ) {
    		return esc_url( $link );
    	} else {
    		return esc_url_raw( $link );
    	}
    }
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「get_pagenum_link で、URLの引数がnullの場合に「=」が消える」には新たに返信することはできません。