Questions tagged «customization»

修改主题和插件文件以创建新功能。


2
新的WP_Customize API-它是如何在后台运行的?
我注意到,如果您通过新的“自定义”功能进行更改,则在iframe预览文档中的其他页面上导航时,即使更改尚未保存,更改仍然适用。 看起来WP将临时更改存储在某个位置,并且如果以“自定义”模式查看网站,它将临时更改应用于网站。 但是网站如何知道它处于自定义模式?因为我看不到任何附加在链接上的查询参数或类似内容。

1
插件表格提交最佳实践
我已经做了很多研究,但是没有找到我想要的东西,因此我希望可以指出正确的方向。 我正在开发一个Events插件,它将从前端预订票证。这与其他任何Form提交都没有什么不同,但是让我感到困惑的是如何处理通过OOP用类编写的插件的处理方式。 我发现的大多数文章都说要在模板页面中进行$ _POST处理。理想情况下,我希望通过插件中的函数来处理此问题。 我不确定的另一件事是,当您在前端提交表单时,该表单实际上是如何传递到后端的函数的。我希望从任何模板详细信息中完全抽象出表单处理。 // events.php if ( ! class_exists( 'Events' ) ) { Class Events { function __construct() { add_action( 'plugins_loaded', array( &$this, 'includes' ), 1 ); } function includes() { require_once( EVENTS_INCLUDES . 'functions.php' ); } } } if ( class_exists( 'Events' ) ) { $events_load = …

5
验证自定义元框值和必填字段
我从未见过的东西是验证特定表格字段是否正确填写自定义帖子类型元框的最佳方法。 我正在寻求有关如何最好地验证可能创建的任何metabox的自定义字段的专家意见。我的兴趣是: 确保在发布/更新帖子之前进行字段验证 利用与其他wordpress javascript不冲突的类/代码 允许您根据需要定义特定字段,而其他字段则可选 根据可自定义的规则(包括正则表达式)验证字段,例如电子邮件格式 控制任何错误/通知的视觉显示 提前致谢!

1
自定义帖子类型可以具有父页面吗?
我已经在Webiverse中看到很多关于将页面分配为自定义帖子类型的父级的帖子。四小时后,我找不到解决方案,需要帮助。我创建了一个“关于”页面,该页面是“我们的人”页面的父级。我还创建了一个名为“人”的自定义帖子类型。我已经为“我们的人”页面创建了一个自定义页面模板。在您进入单个“人员”页面之前,永久链接结构看起来不错。例如:John Smith's Page,永久链接不正确。 自定义帖子类型: 所需的永久链接结构: / about-us / our-people / john-smith 实际上是固定链接结构: / our-people / john-smith 我们的人员页面结构: / about-us / our-people “ about-us”是一个页面,“ our-people”是一个页面,也是自定义帖子类型“ people”的子句重写。我试图更改层次结构设置,并且尝试将“约我们/我们的人”直接添加到重写中,但没有成功。 Functions.php: function codex_custom_init() { // Our People $people_label = array( 'name' => 'People', 'singular_name' => 'People', 'add_new' => 'Add People', 'add_new_item' => 'Add New People', …

1
将SOAP客户端嵌入到WordPress插件中?
将SOAP客户端嵌入到可以通过WordPress插件存储库分发的WordPress插件中的最佳方法是什么?最好用吗? 在PHP 5.x的SOAP客户端, 在Zend的SOAP客户端, 用于PHP的NuSoap工具包, 用于PHP的PEAR SOAP客户端/服务器,或者 一些其他的SOAP客户端为PHP? 而且,为什么要推荐一个呢?每种优点和缺点是什么。如果您有在广泛的分布式插件中使用SOAP客户端的实际经验,则可以“加分”。调用.NET SOAP服务器,Java SOAP服务器或某些其他SOAP服务器堆栈之间有什么区别吗? 请注意,这是与“分发访问SOAP Web服务的插件时的陷阱?”问题相关的问题。而且我也在制作这个社区维基。 更新资料 以下是一些可能对其他研究相同问题的人有用的链接: 使用PHP和NuSoap创建SOAP客户端。 Soap Client调用.NET Web服务 在PHP中使用SOAP (在Apple.com上) PHP和Web服务 使用WSDL使用NuSOAP编程 通过PHP和SOAP使用Amazon Web Services 最简单的PHP Web服务客户端 使用PHP / C#开发SOAP Web服务 PHP Web服务客户端

2
数据清理:带有代码示例的最佳实践
我试图了解数据清理(不是数据验证)以帮助我为WordPress编写安全主题。我搜索了Internet,试图为主题开发人员找到一份详细的最佳实践指南。我遇到了一些资源,包括名为“数据验证”的法典页面,尽管没有一个对我有用。该法典页面列出了可用的消毒功能,其用法以及它们的作用,但是无法解释为什么您要使用另一个消毒功能,或者在什么情况下使用特定的消毒功能。这篇文章的目的是要求每个人都提供不良/未经消毒的代码示例,以及如何对其进行重写以进行适当的消毒。这可以是用于清理帖子标题或帖子缩略图src的通用代码,也可以是用于处理以下内容的精致代码:$_POST Ajax请求的数据。 另外,我想知道WordPress用于添加/更新数据库的功能(例如,下面代码块中提到的功能)是否会自动为您完成清理工作?如果是,那么当您采取其他措施来清理发送到这些WordPress函数的数据时,是否会有例外? add_user_meta update_user_meta add_post_meta update_post_meta //just to name a few 另外,在PHP中回显HTML与在HTML内联中与PHP内联时,是否需要以不同的方式进行清理?为了更清楚我的要求,以下是代码: <?php echo '<div class="some-div ' . $another_class . '" data-id="' . $id . '" >' . $text . '</div>'; ?> <div class="some-div <?php echo $another_class; ?>" data-id="<?php echo $id; ?>"><?php echo $text; ?></div> 上面的两个语句实现了同一件事。但是是否需要以不同的方式来对待它们?

5
有什么Joomla或Drupal可以做的事情无法在WordPress中完成吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我有一个客户想要使用Joomla,因为他们被告知这很好。我试图说服他们WordPress是一个更加用户友好的选择。 我之前曾与Joomla(和Drupal)一起玩过,但发现学习曲线异常陡峭(可能是由于他们的术语晦涩难懂)。我认为自己在技术上很精明,如果我觉得很难,我相信技术能力不强的客户会发现它更加晦涩难懂。 到目前为止,我还没有遇到客户端无法在WordPress中完成的任何事情,但是在我告诉他们之前,我想确认是否确实如此。 Joomla或Drupal是否可以做WordPress无法做的任何事情(尤其是现在在WP 3+中具有自定义帖子类型)?

3
如何使用WordPress链接外部jQuery / Javascript文件
因此,我使用Starkers作为下一个WP主题的基础,并且遇到了一个小问题,我在header.php文件中包含了自己的jQuery版本,但是在使用Firebug检查我的网站时,我发现jquery被下载了两次,做了一些挖掘,发现不仅我包括了文件,而且wp_head()函数也包括在内。 在尝试解决该问题时,我注意到头文件中有一条注释,该注释源自“二十十”主题: /* Always have wp_head() just before the closing </head> * tag of your theme, or you will break many plugins, which * generally use this hook to add elements to <head>, such * as styles, scripts, and meta tags */ 所以这是我的问题,我的印象是,必须在要使用它的任何其他文件之前设置jQuery文件,这wp_head()应该是<head>元素中的最后一件事,我现在有点困惑,因为我想知道我放在wp_head()顶部,因此WP包含的jQuery文件将用于我的所有插件,即使它说不这样做也是如此。 我确实在wp_head()函数中注释掉了jQuery行,但是它是管理页面所必需的,因此我不得不将其放回去。 我还想使用(至少是实验)来使用jQuery的Google CDN版本,但是不想两次包含它! 希望您理解我要解释的内容,关于如何解决此问题的任何建议将不胜感激。对于您如何使用头文件处理JavaScript文件的任何建议,我也将不胜感激。 谢谢!


5
修改插件的正确方法
修改插件的最佳方法是什么?我经常想对大型插件中的一两个功能进行小的更改。这很容易做到,但是我必须使用注释来标记我的更改,并在更新后再次修改插件。理想情况下,我想不理会插件,而在其他地方进行更改,就像我们处理主题和子主题一样。我可以制作一个需要父插件并将其覆盖的插件吗?

4
拖放后更新窗口小部件表单(WP保存错误)
几个月前,我已经发布了有关此问题的错误报告(在WordPress trac(小部件实例表单更新错误)上),我想我也想在这里写一下。也许有人比我有更好的解决方案。 基本上,问题在于,如果您将小部件拖放到侧栏中,则在您手动按保存(或重新加载页面)之前,小部件表单不会得到更新。 这使得form()依赖于小部件实例ID 的功能中的所有代码都无法使用(直到您按下保存按钮)。诸如ajax请求之类的东西,诸如colorpickers之类的jQuery之类的东西都不会立即起作用,因为从该函数看来,小部件实例尚未初始化。 肮脏的解决方法是使用livequery之类的方法自动触发保存按钮: $("#widgets-right .needfix").livequery(function(){ var widget = $(this).closest('div.widget'); wpWidgets.save(widget, 0, 1, 0); return false; }); 如果未初始化小部件实例.needfix,form()则添加该类: <div <?php if(!is_numeric($this->number)): ?>class="needfix"<?php endif; ?> ... </div> 该解决方案的一个缺点是,如果您注册了许多小部件,浏览器将占用大量CPU,因为livequery每秒都会检查DOM的更改(因此,我没有专门测试过,这只是我的假设:) 有什么建议可以更好地修复该错误吗?

3
如何使带有超链接的文本在WordPress中可翻译?
我已经看到了使带有超链接的文本可翻译的不同方法。但是,我一直找不到一个最佳实践。 因此,这是我发现的一些解决方案: // METHOD 1 sprintf( __( 'Please read %1$sthis%2$s.', 'tacoverdo-example-domain' ), '<a target="_blank" href="' . esc_url( 'https://goo.gl' ) . '">', '</a>' ); // METHOD 2 echo '<a target="_blank" href="' . esc_url( 'https://goo.gl' ) . '">'; _e( 'Please read this.', 'tacoverdo-example-domain' ); echo '</a>'; // METHOD 3 sprintf( __( 'Please …

4
Custom Walker:如何在函数start_lvl中获取ID
我正在制作我的第一个自定义助行器,以构建手风琴菜单。首先,我使用以下示例:http : //bitacre.com/2025/custom-nav-menu-walker-for-wordpress-themes 有两个功能。首先是start_lvl,然后是start_el。 在start_el中,ID获取由$ item-> ID实现。有人知道我也可以在start_lvl中做到这一点吗?我需要给(周围的下层导航)一个ID,以便可以触发它在手风琴菜单中折叠。 我试图生成的是这样的: <a href="#collapse2">Titel 2</a> <ul id="collapse2">Lower Level Menu 2</ul> <a href="#collapse3">Titel 3</a> <ul id="collapse3">Lower Level Menu 3</ul> 我的start_lvl函数代码: // add id's and classes to ul sub-menus function start_lvl( &$output, $depth, $item ) { // depth dependent classes $indent = ( $depth > 0 …

2
WP多站点中自定义帖子类型的PDF的特定上载文件夹
我需要将上传到特定文件夹的文件过滤为仅适用于PDF的自定义帖子类型“文档”。 到目前为止,我有: function custom_upload_directory( $args ) { $base_directory = '/home/xxx/my_uploadfolder'; $base_url = 'http://xxxx/wp-content/uploads/my_uploadfolder'; $id = $_REQUEST['post_id']; $parent = get_post( $id )->post_parent; // Check the post-type of the current post if( "document" == get_post_type( $id ) || "document" == get_post_type( $parent ) ) { $args['path'] = $base_directory; $args['url'] = $base_url; $args['basedir'] …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.