栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用WordPress在URL中传递额外的变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用WordPress在URL中传递额外的变量

要在“前端”上进行“ The WordPress Way”(在的上下文中不起作用wp-admin),您需要使用3个WordPress函数:

  • add_query_arg() -使用新的查询变量(示例中为“ c” )创建URL
  • 在query_vars过滤器-修改的列表公众查询变量是WordPress的知道(这仅适用于前端,因为WP查询不是在后端使用- wp-admin-所以这也不会提供admin-ajax)
  • get_query_var() -检索在URL中传递的自定义查询变量的值。
    注意:
    $_GET
    如果您这样做,则甚至无需触摸superglobals()。


在需要创建链接的页面上/设置查询变量:

如果是指向此页面的链接,只需添加查询变量

<a href="<?php echo esc_url( add_query_arg( 'c', $my_value_for_c ) )?>">

如果是到其他页面的链接

<a href="<?php echo esc_url( add_query_arg( 'c', $my_value_for_c, site_url( '/some_other_page/' ) ) )?>">

在您的functions.php或某些插件文件或自定义类中(仅前端):

function add_custom_query_var( $vars ){  $vars[] = "c";  return $vars;}add_filter( 'query_vars', 'add_custom_query_var' );

在您希望检索并使用URL中设置的查询var的页面/函数上:

$my_c = get_query_var( 'c' );

在后端(wp-admin)
在后端,我们永远不会运行wp(),因此不会运行主WP Query。其结果是,有没有query vars和query_vars勾手不运行。

在这种情况下,您需要恢复到检查$_GET超全局性的更标准方法。最好的方法可能是:

$my_c = filter_input( INPUT_GET, "c", FILTER_SANITIZE_STRING );

尽管可以在紧急情况下做

$my_c = isset( $_GET['c'] ? $_GET['c'] : "";

或其某些变体。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573351.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号