显示多站点ID号

时间:2019-08-01 作者:Jen

我想知道是否有一种方法可以在一些代码中添加站点ID。长话短说,我们正在连接销售人员,以便在我们的multipress网站上显示数据。

我想知道是否有一种方法可以将ID添加到短代码中,这样它将动态显示,并且我可以制作一个模板,以便以后更容易进行更改。因此,在下面的示例中,我希望Playhouse__c=\'a0q50000005qQbo\' 变成这样Playhouse__c=\'[site_id]\'

i、 e.我们正在使用

[sectionsforce o="Playhouse_Prog_Vol_Job__c" filter="Display_on_Websites__c =true and Playhouse__c =\'a0q50000005qQbo\' and Active__c=true and Ages_Served__c=\'All Ages\'"  n="100" ]

{!Playhouse_Program_Website_Image__c}

{!ProgVol_Job_Name__c}

Description: {!Global_Description__c}
Location Information: {!Location_Program_Description__c}
[/sectionsforce]

1 个回复
SO网友:Antti Koskinen

如果您正在使用的短代码为短代码属性提供了一个标准格式过滤器,那么您可能可以尝试以下操作。

function filter_shortcode_atts_sectionsforce( $out, $pairs, $atts, $shortcode ) {
  // is filter set and it contains our dynamic tag
  if ( isset( $atts[\'filter\'] ) && false !== strpos( \'Playhouse__c=\\\'site_id\\\'\', $atts[\'filter\']  ) ) {
    // get ID, could use some custom helper function here, if complex logic is required
    $site_id = get_current_blog_id();
    // Simple string replacement to replace dynamic part with real data
    $out[\'filter\'] = str_replace( \'Playhouse__c=\\\'site_id\\\'\', "Playhouse__c=\'{$site_id}\'", $atts[\'filter\'] );
  }
  return $out;
}
add_filter( \'shortcode_atts_sectionsforce\', \'filter_shortcode_atts_sectionsforce\', 10, 4 );
Ot如果短代码(及其回调)是您自己的代码,那么在回调中使用上面的检查。

此外,基于https://stackoverflow.com/questions/30490175/use-wp-shortcode-as-an-attribute-in-another-shortcode, 我认为尝试在参数中使用[site\\u id]可能会破坏短代码,因为短代码解析器可能会从这些额外的括号中崩溃。这就是为什么我没有在上面的示例中包含它们。

相关推荐

用于在AWS上使用WordPress MultiSite的映射域的SSL

我已经在Amazon Web服务器EC2实例上安装了Wordpress Multisite。我在实例上使用弹性IP和负载平衡器。我通过AWS证书管理器为多站点设置了通配符SSL证书,该证书适用于主站点和所有新创建的子域网站。我将此证书应用于负载平衡器。现在,我正在尝试为映射域设置SSL证书。我有域名购买通过名称便宜,并已建立了一个记录的弹性IP。我还创建了一个AWS证书,并通过Namecheap DNS上的CNAME记录对其进行了验证。我将此证书应用于同一个负载平衡器,并在AWS中为指向该负载平衡器的子域