【问题标题】:WordPress - Call function from template to get URLWordPress - 从模板调用函数以获取 URL
【发布时间】:2018-11-14 04:41:25
【问题描述】:

在整个网站中,我想使用一个函数来打印锚标记的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 小部件中的功能?

【问题讨论】:

  • 请尝试调用函数return_main_site_url();并检查。
  • @SubhashPatel 仍然在 HTML 中以纯文本形式显示 php 调用
  • 请检查下面的答案并在您的代码中编辑并检查。
  • stackoverflow.com/questions/50353211/… 是答案 使用简码。

标签: php wordpress genesis


【解决方案1】:

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] 并检查输出。

【讨论】:

  • 当我把 PHP 标记放在那里时,就好像它根本不允许它:dropbox.com/s/zq0w85lqh8sgmtb/…
  • 去掉&lt;?php ?&gt;标签并检查。
  • 请看这里如何调用函数和返回值:(wordpress.stackexchange.com/questions/93777/…)
  • 我回答了上面的问题。必须安装插件或使用简码。自定义 HTML 小部件不允许开箱即用的可执行 PHP。
  • 不,你不需要一个插件,你在functions.php 中添加这个add_shortcode( 'myshortcode', 'return_main_site_url' ); 代码并在你的文件中使用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-16
  • 2010-12-22
  • 2014-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多