doudu2404 2017-09-09 11:02
浏览 83
已采纳

function.php的问题

function getParentID() {
    $url = 'http://' . $_SERVER[ 'HTTP_HOST' ] . $_SERVER[ 'REQUEST_URI' ];
    $pageID = url_to_postid($url);
    $pageID = trim($pageID);
    return $pageID;
}

function OrderFieldsQuery($args) {

    //->> WORKS WITH HARD-CODED ID'S
    $args['post_parent'] = 52;

    $args['post_parent'] = getParentID();
    // Doesn't work in that way, even function returns same value;

    return $args;
}

add_filter('acf/fields/relationship/query', 'OrderFieldsQuery', 10, 1); // add key to filter

**Additional example: **

 global $wp;
    $currentUrl = home_url(add_query_arg(array(),$wp->request));
    $ID =  url_to_postid($currentUrl);
    $args['post_parent'] = $ID;
    $args['post_parent1'] = 52;
    if ($args['post_parent'] === $args['post_parent1'])
        $args['equal'] = true;
    // Doesn't work in that way, even function returns same value;

    return $args;

Output i get on this.........:

Array ( [post_parent] => 52 [post_parent1] => 52 [equal] => 1 )

So they are equal but it works only when hard-coded.

  • 写回答

2条回答 默认 最新

  • doutandusegang2961 2017-09-09 11:15
    关注

    Get page url from below code

    global $wp;
    $current_url = home_url(add_query_arg(array(),$wp->request));
    

    Now use below code to get the page id

      $postid = url_to_postid( $current_url );
    

    Now you will get the id

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?