我正在使用插件WP-Ultimo并希望对注册表单进行一些更改。这实际上是一个问题,我认为可以应用于自定义任何插件以用于我的主题,但从未找到文档显示它。
我有这个
/**
* Normal Text Inputs
*/
case 'text':
case 'number':
case 'password':
case 'email':
case 'url':
?>
<p <?php echo $wrapper_attributes; ?> id="<?php echo $field_slug; ?>-field" <?php echo $wrapper_attributes; ?> style="<?php echo $display ? '' : "display: none"; ?>" >
<label for="<?php echo $field_slug; ?>"><?php echo $field['name']; ?> <?php echo WU_Util::tooltip($field['tooltip']); ?><br>
<input <?php echo $attributes; ?> <?php echo isset($field['required']) && $field['required'] ? 'required' : ''; ?> type="<?php echo $field['type']; ?>" name="<?php echo $field_slug; ?>" id="<?php echo $field_slug; ?>" class="input" value="<?php echo isset($results[$field_slug]) ? $results[$field_slug] : ''; ?>" size="20"></label>
<?php if ($error_message = $results['errors']->get_error_message($field_slug)) {
echo '<p class="error">' . $error_message . '</p>';
} ?>
</p>
<?php
break;
我想用
替换/**
* Normal Text Inputs
*/
case 'text':
case 'number':
case 'password':
case 'email':
case 'url':
?>
<div <?php echo $wrapper_attributes; ?> id="<?php echo $field_slug; ?>-field" <?php echo $wrapper_attributes; ?> style="<?php echo $display ? '' : "display: none"; ?>" >
<input <?php echo $attributes; ?> <?php echo isset($field['required']) && $field['required'] ? 'required' : ''; ?> type="<?php echo $field['type']; ?>" name="<?php echo $field_slug; ?>" id="<?php echo $field_slug; ?>" class="input" value="<?php echo isset($results[$field_slug]) ? $results[$field_slug] : ''; ?>" size="20">
<?php if ($error_message = $results['errors']->get_error_message($field_slug)) {
echo '<p class="error">' . $error_message . '</p>';
} ?>
</div>
<?php
break;
是否有一种简单的方法可以创建function
来替换我的functions.php中的原始文件?
干杯
答案 0 :(得分:1)
除非插件提供了可以挂钩的过滤器或操作,否则无法通过主题functions.php对其进行修改。您可以查看要查看的插件的文档(或源代码),看看它是否可用。
以下是关于WP-Ultimo论坛关于在何处访问该插件使用的所有操作/过滤器列表的评论,您可以在那里找到适合您的用例的一个:https://docs.wpultimo.com/community/topic/hooking-into-the-system/
Wordpress插件可以允许主题(或其他插件)以两种方式进行修改:一种是使用过滤器(使用apply_filter
),另一种是使用操作(使用do_action
)。通常,过滤器用于修改某些数据,并且每当触发发生时,操作都用于执行某些操作。
您可以在此处找到更多信息: