WordPress 小部件更新需要标签的项目的实例

2024-01-12

最近,我意识到在开发主题中的侧边栏时,我没有充分利用 WordPress 中的小部件,因此我花了几天时间研究如何正确开发它们。在查看了大量教程后,我发现其中一些关于自定义构建小部件的教程已经过时了。我确实看到了应该在哪里使用该构造:

function __construct() {
    parent::__construct(
    // Base ID of your widget
    'foobar_widget', 
    // Widget name will appear in UI
    __('Give them foo Widget', 'foobar_widget_domain'), 
    // Widget description
    array( 'description' => __( 'Development widget for testing', 'foobar_widget_domain' ), ) 
    );
}

The codex https://codex.wordpress.org/Widgets_API当涉及到自定义小部件时,这是非常小的。浏览完SO的标签后wordpress 小部件 /questions/tagged/wordpress-widget and widget /questions/tagged/widget如果文本区域需要标签,则在调用小部件更新时我没有看到解决方案。很多人将标题实例称为:

$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';

在我的函数中form()我需要一个可以接受用户输入代码的文本区域,例如复制的 Google Adsense 广告。以下有效,但我不确定是否有更好的方法来接受表单的输入:

// Updating widget replacing old instances with new
public function update( $new_instance, $old_instance ) {
    $instance = array();
    $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
    $instance['foo1'] = $new_instance['foo1'];
    return $instance;
    }
}

有没有更好的方法返回$instance当您需要标签而不使用 PHP 时strip_tags() ?


我使用以下很棒的代码片段来注册一个自定义小部件,该小部件需要任何 HTML

add_action('widgets_init', create_function('', 'register_widget("clean_markup_widget");'));
class Clean_Markup_Widget extends WP_Widget {
    function __construct() {
        parent::WP_Widget('clean_markup_widget', 'ASR Custom Text Widget', array('description'=>'Simple widget for well-formatted markup & text'));
    }
    function widget($args, $instance) {
        extract($args);
        $markup = $instance['markup'];
        //echo $before_widget;
        if ($markup) echo $markup;
        //echo $after_widget;
    }
    function update($new_instance, $old_instance) {
        $instance = $old_instance;
        $instance['markup'] = $new_instance['markup'];
        return $instance;
    }
    function form($instance) {
        if ($instance) $markup = esc_attr($instance['markup']);
        else $markup = __('<p>Clean, well-formatted markup.</p>', 'markup_widget'); ?>
        <p>
            <label for="<?php echo $this->get_field_id('markup'); ?>"><?php _e('Markup/text'); ?></label><br />
            <textarea class="widefat" id="<?php echo $this->get_field_id('markup'); ?>" name="<?php echo $this->get_field_name('markup'); ?>" type="text" rows="16" cols="20" value="<?php echo $markup; ?>"><?php echo $markup; ?></textarea>
        </p>
<?php }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WordPress 小部件更新需要标签的项目的实例 的相关文章

随机推荐

  • 如何在 Bokeh (Python) 中绘制水平条形图

    我有这个数据 data Cities Des Moines 80 0 Lubbock 300 0 Minneapolis 85 7 Orange County 80 0 Salt Lake City 81 8 San Diego 80 0
  • Visual Studio 设计器不显示嵌入字体

    我在 Visual Studio 2013 的 C WPF NET 4 0 应用程序 特别是 Open Sans 和 FontAwesome 中使用一些自定义字体 I have 将 FontAwesome otf 和 OpenSans Re
  • 杰克逊 2.0 与球衣 1.12

    有人设法将 Jackson 2 0 与 Jersey 1 12 一起使用吗 知道这一点将会非常有趣 我们必须在所有地方使用 Jackson 1 9 x 只是因为 jersey 与 Jackson 的耦合如此紧密 据我所知 甚至 jersey
  • 我的 App Engine 控制面板中的数据存储区管理页面为空白

    我在 appspot com 上的所有应用程序中的数据存储管理页面都是空白的 我已按照说明启用它们 并且没有收到任何错误消息 只是加载了空白页面 有人可以帮忙吗 如果您使用的是 Google Chrome 并通过多个 Gmail 帐户登录
  • 模拟本地网络的低速连接

    有时我想手动测试我的 Web 应用程序 调用 Web 服务或网站或 RIA 的桌面应用程序 以查看它们在低速互联网连接 例如 56 kbps 下的行为方式 是否可以通过网络模拟比真实速度更低的速度来实现 如果是 是否也可以模拟低质量连接 例
  • 使用苹果的 auriotouch 示例计算频率

    我正在开发一个需要捕获吉他声音频率的程序 我修改了 aurioTouch 示例 以使用幅度最高的频率来输出频率 它适用于高音 但在低音弦上非常不准确 我相信这是由于泛音造成的 我研究了如何解决这个问题的方法 例如倒谱分析 但我不知道如何在示
  • 是否可以在同一个 Django 项目中拥有单独的 SQLite 数据库?

    我正在考虑为 Django 项目上的某些应用程序创建一个单独的 SQLite 数据库 但是 如果可能的话 我不想使用直接 SQLite 访问 对这些数据库的 Django 风格 ORM 访问将是理想的选择 这可能吗 谢谢 是的 低级 API
  • 从 swift 调用 Objective-C typedef 块

    我正在尝试从 swift 调用一个方法 该方法是用 Objective C 编写的单例 头文件中的块 typedef void VPersonResultBlock Person person NSError error void askF
  • 为什么 Swift 中的协议比类更好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过观看Apple提供的视频教程 似乎swift是面向协议的编程语言 并且Apple鼓励程序员使用协议而不是类 但从我个人的角度来看 我认为协议
  • Magento 购物车 API 不显示价格

    我正在尝试使用 Magento Enterprise 1 10 XML RPC API 来处理 Magento 安装之外的购物车 目录功能 我遇到的问题是当我添加到购物车时 我可以很好地连接到 API 端点 登录并检索数据 以下是我用来发现
  • 更新 Google App Engine 中的模型架构?

    谷歌建议一次将一个条目更改为默认值 http code google com appengine articles update schema html http code google com appengine articles upd
  • 为什么 WinForms/WPF 控件不在内部使用 Invoke?

    我明白为什么 GUI 控件具有线程关联性 But 为什么控件不在其方法和属性中内部使用调用 现在你必须做这样的事情才能更新TextBox value this Invoke new MethodInvoker delegate textBo
  • Amazon SSE-S3 密钥轮换如何工作?

    我正在尝试围绕 Amazon 的服务器端加密选项进行思考 以便在我的应用程序上传文件时开始要求 S3 加密我的静态数据 到目前为止 AWS 管理的加密密钥选项听起来像是我正在寻找的 Model C https media amazonweb
  • Room 的“onDelete = CASCADE”在迁移期间不起作用

    我有以下表格 Entity tableName users class Users PrimaryKey autoGenerate true var id Long null NonNull var name String null Ent
  • 如何使用 PlistBuddy 将多个条目添加到 plist 字典中

    In my Info plist我想修改 shell 上的 Plist 文件 如下所示
  • Python跨平台监听按键?

    我需要在 python 终端程序中监听某些按键 而不用暂停执行raw input 我见过人们使用一些特定于 Windows 的方式来监听击键 并且我见过人们使用像 tkinter 和 pygame 这样的大型模块 我想避免这些模块 是否有一
  • 如何完整遍历未知深度的复杂字典?

    导入自JSON可以得到非常复杂和嵌套的结构 例如 u body u declarations u id u name u i u type u Identifier u init u type u Literal u value 2 u t
  • 如何转到 Chrome 开发者工具中的特定文件?

    我正在开发一个采用重型前端方法的 Web 应用程序 通过使用 Dojo 和 AMD 方式 我目前的测试屏幕可以轻松加载一百多个不同的 javascript 文件 当我想要调试任何特定问题 或者验证是否看到特定文件的旧版本时 我发现很难在 C
  • 使用 loginPopup 时 Microsoft 身份验证反应“hash_empty_error”

    我无法理解在尝试使用 Micrsoft Authentication 库 for React PWA 对用户进行身份验证时遇到的错误 我需要帮助理解为什么尝试使用 loginPopup 方法登录用户时失败 在某些情况下 身份验证按预期工作
  • WordPress 小部件更新需要标签的项目的实例

    最近 我意识到在开发主题中的侧边栏时 我没有充分利用 WordPress 中的小部件 因此我花了几天时间研究如何正确开发它们 在查看了大量教程后 我发现其中一些关于自定义构建小部件的教程已经过时了 我确实看到了应该在哪里使用该构造 func