//劫持下载短代码add\\u短代码(\'dlm\\u gf\\u form\',array($this,\'shortcode\\u dlm\\u gf\\u form\');
这一行只是从类中添加了一个短代码。我检查了这个插件的类,他们没有提供任何操作或过滤器。您可以尝试修改此插件的原始代码,仅用于您的目的。我看不到任何其他解决方案。我甚至不知道这个插件做什么,只是看看源代码并试图理解逻辑,所以我的建议没有经过测试)
打开文件dlm-gravity-forms.php
从第156行可以看到以下代码:
// the download_id is a required attribute
if ( ! isset( $atts[\'download_id\'] ) ) {
return \'Download Monitor - Gravity Forms Error: No download_id set!\';
}
检查是否设置了download\\u id。在此if语句之后,您可以使用相同的逻辑添加上一个问题中的相同代码-如果download\\u id不是数字-使用在download\\u id属性中传递的名称从post meta获取post meta值:
if( !is_numeric($atts[\'download_id\']) ):
$post_meta = get_post_meta(get_queried_object_id(), $atts[\'download_id\'], true);
$post_meta ? $atts[\'download_id\'] = $post_meta : null;
endif;
保存更改;)