WordPress-从模板调用函数以获取URL

时间:2018-11-14 04:41:25

标签: php wordpress genesis

在我们的整个网站上,我想使用一个函数来打印锚标记的href。该函数解析查询参数,并将其正确转换为指向另一个站点的链接。

functions.php中,我添加了:

add_filter( 'main_site_url', 'return_main_site_url' );
function return_main_site_url( $default_source = '' ) {
    $main_site_url = "https://www.example.com";

    if ( get_query_var('ws') ) {
        $main_site_url .= '?s=';
        $main_site_url .= get_query_var('ws');
    } elseif ( !empty($default_source) ) {
        $main_site_url .= '?s=';
        $main_site_url .= $default_source;
    }

    return $main_site_url;
}

我尝试使用侧边栏中的HTML联系人小部件中的功能,例如:

<a href="<?php echo apply_filters('main_site_url', wp_sidebar') $>" class="btn btn-danger">Learn More</a>

输出最终未得到处理:

<a href="&lt;?php echo apply_filters('main_site_url', 'wp_sidebar') ?&gt;" class="btn btn-danger">Learn More</a>

如何使用侧边栏上的HTML小部件中的函数?

1 个答案:

答案 0 :(得分:0)

functions.php

add_filter( 'main_site_url', 'return_main_site_url' );

    function return_main_site_url( $default_source = '' ) {
        $main_site_url = "https://www.example.com";

        if ( get_query_var('ws') ) {
            $main_site_url .= '?s=';
            $main_site_url .= get_query_var('ws');
        } elseif ( !empty($default_source) ) {
            $main_site_url .= '?s=';
            $main_site_url .= $default_source;
        }

        return $main_site_url;
      }

 add_shortcode('myshortcode','return_main_site_url');

,然后在锚标记中使用[myshortcode]并检查输出。