WordPress

WordPress开发人员和管理员的问答

2
从wp_nav_menu动态排除菜单项
我尝试查找有关如何从自定义菜单中排除/删除导航菜单项的信息,而我发现的唯一线程没有任何对我有用的答案。 1.背景: 我在网站上使用WP自定义菜单(wp_nav_menu)和jqDock组合了一个Dock菜单。由于jqDock需要连续的图像或图像链接来发挥其魔力,因此我使用了自定义的Walker,因此导航菜单HTML输出看起来像这样: <div id="menu-first" class="nav"> <a><img src="http://path/to/image-1.png"/></a> <a><img src="http://path/to/image-2.png"/></a> <a><img src="http://path/to/image-3.png"/></a> etc... </div> 我的自定义沃克代码是: class custom_nav_walker extends Walker_Nav_Menu { var $tree_type = array( 'post_type', 'taxonomy', 'custom' ); var $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' ); function start_lvl(&$output, $depth) { $indent = str_repeat("\t", $depth); $output .= "\n$indent<ul …


3
将插件数据与主题集成的方法
我想就开发提供主题集成的WordPress插件的最佳做法获得一些意见。 为了让我在问这个问题时讲得通,让我从一个我所好奇的场景的假设示例开始。想象一下,我创建了一个名为“ Discography”的插件。唱片目录注册三种自定义帖子类型:“乐队”,“专辑”和“曲目”。该插件还提供了元框,该框提供了每种帖子类型的详细信息,以及用于组织每种帖子类型的自定义分类法。这些帖子类型与Posts 2 Posts插件捆绑在一起。在管理员中,用户可以添加新的乐队,这些乐队可以与专辑相关联,而专辑又与曲目相关联,所有这些乐队都将通过元框和分类法向其中添加许多其他数据。 现在,我不希望这个插件为用户输入信息而简单地设置管理员。我希望它为数据提供一些默认显示。仅具有该管理员的高级用户/开发人员就可以了。对于她来说,获取这些数据并将其用于主题将很容易;但是,如果没有一些默认视图,此插件对于大多数用户将是无用的。对于此示例,您可以显示类似的内容(括号显示按模板层次结构顺序显示信息的方式): 频段(单前缀-band.php,single.php,index.php,简码) 专辑(single-prefix-album.php,single.php,index.php,shortcode) 曲目(单前缀-track.php,single.php,index.php,简码) 乐队列表(template-band-list.php,page-band-listing.php,page- {id} .php,page.php,index.php,简码) 专辑列表(template-album-list.php,page-album-listing.php,page- {id} .php,page.php,index.php,shortcode) 相册时间轴(template-album-timeline.php,page-album-timeline.php,page- {id} .php,page.php,index.php,shortcode) 重要的是,这些帖子类型必须有一些默认的表示形式,因为默认模板文件不会显示每种帖子类型所需的所有信息。例如,默认情况下,“二十一”主题将仅显示专辑的名称,类别,描述和发布日期。对于专辑来说不是很有用。我想提供一个单独的帖子模板,其中包含乐队,发行日期,唱片标签,专辑版本,曲目等。作为插件开发人员,我觉得提供这一点很重要。我知道该模板不会针对每个主题都适用,但是应该有一些默认设置可以与用户主题进一步集成。 再次,我很好奇如何处理这种情况?我认为您可以执行以下任何操作。 简码 简码可以用作一种非常灵活且用户友好的方式,以允许非开发人员在站点中的任何位置添加乐队,专辑,曲目,乐队列表等。这对于在特定页面上显示乐队或为每个乐队创建单独的页面很有帮助(效率不高,但是某些用户以这种方式处理事情)。短代码将生成HTML,该HTML将与提供的CSS文件绑定,该CSS文件将提供所需数据的漂亮默认视图。一切都将包含在插件文件中,并且主题不需要执行任何操作。 模板文件 该插件还可以附带模板文件。可以对模板文件进行标记和样式设置,以获得漂亮的默认视图。您可以为用户提供指示,以将文件移动到主题文件夹,以便在查看帖子类型时主题将找到正确的模板。您甚至可以提供一个界面,允许用户单击移动文件(注意:激活时我不会在用户的主题文件夹中创建文件,因为将文件添加到主题中而不启动它们是邪恶的) 。 您还可以使用过滤器来利用这些文件,而无需将其移出plugin文件夹,从而使所有内容保持独立。我已经看到了用于此目的的“ template_include”和“ {$ type} _template”过滤器。实际上,您可以使用主题文件夹中的模板,如果模板不存在,则可以依靠这些过滤器提供默认视图。 问题 我想知道别人认为这些情况下的最佳做法是什么,如果所提出的想法在任何方面都存在问题,并且我没有列出任何替代方案。 谢谢!


4
用于修改http标头的WP函数/过滤器?
添加/修改HTTP标头时是否有专用的WP函数,操作或过滤器? 现在,我只是将PHP header()调用挂接到WP'init'钩中,如下所示: add_action('init', 'add_header_xua'); function add_header_xua(){ if(!is_admin()){ header('X-UA-Compatible: IE=edge,chrome=1'); } } 但这是正确的方法吗?
17 api  headers 

2
为我的主题制作更新通知功能
问题很简单:)我正在制作一个主题,并将在许多站点中使用。因此,我不想在每次修复错误或进行主题升级时都访问所有站点并通过ftp传输文件。 有什么办法可以使更新系统像wordpress插件目录中托管的插件一样。 期待您的回答。谢谢! 解决了: 感谢Chip Bennett的出色链接。现在可以在该站点上使用主题的更新库。您可以在这里找到它:http : //w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/ 如果您看到免费提供的一些出色作品,请务必考虑捐赠。

4
边栏中的小部件数量限制
如果我使用自定义的小部件区域(例如页脚),其中小部件的斑点数量有限(根据设计),是否可以限制用户可以在该特定小部件区域中包含的小部件数量?解决方案是在后端还是在前端都没有关系。谢谢。
17 widgets  sidebar 

2
如何以编程方式更改用户密码
我试图创建一个完全不同的配置文件页面(而不是Wordpress提供的页面),因为默认配置文件页面的布局和使用感觉对于用户来说太“ Wordpress”了。现在,我能够成功呈现一个页面,该页面可以修改用户元数据,例如名字,姓氏,城市,邮政编码等。 现在让我感到困扰的是更改用户密码。是否有内置的wordpress函数,例如change_user_password($ user_id,$ new_password)?我很惊讶我找不到能做到这一点的东西。 更糟糕的是,我正在执行UPDATE wp_users SET user_pass = md5($new_password) WHERE ID = $user_id,但是如果没有此功能,我会感到非常惊讶。

3
插件开发的单元测试
我需要对其中一个插件进行单元测试。我最近将其重新设计为类,因此现在应该更容易进行单元测试。 对插件进行单元测试的有效策略有哪些?我需要一种方法来使用插件中使用的WordPress函数,但是我不需要运行中的WordPress网站(只需在DB AFAIK上测试数据),对吗? 我很难弄清楚如何仅对插件进行单元测试,而不是在站点上下文中对插件进行单元测试。我可以为此使用Selenium,但是现在我只想集中精力对插件类功能进行单元测试,以便在每次更新时都不会破坏它们。

2
WP媒体上传器如何创建3种不同尺寸的图像,如何复制它
我终于有了!得到了我已经尝试过12次并采用12种不同方式制作的东西,但最终使它起作用了……。 我制作了一个自定义元框,用于将图像上传和附加到帖子,并且不需要您使用WP中内置的可怕的thickbox媒体上传器。我讨厌那件事。不,我所做的只是一组输入(标题,描述,文件),您也可以复制它们,以根据需要添加其他附件。因此,您填写字段,选择要上传的图像,然后保存草稿或发布帖子。将附件添加到帖子后,元框将显示输入字段,以及添加的每个附件的附件图像的预览图像。标题和描述字段用于生成文件元数据,据我所知,没有任何内容保存为post_meta。到目前为止,这就是我目前要做的全部工作。 我需要这样做,以便在您保存/发布帖子时,依次上传/创建附件文件,它将创建三个图像尺寸,如默认的wp上传器会显示缩略图,中型,大尺寸,并且也保留全尺寸图像。如果可能的话。如果没有,我想用其他方式add_image_size()创建/定义新的自定义尺寸,并在上传时以这种方式生成它们。 我不确定哪种功能最适合在这种情况下使用,也许该image_make_intermediate_size()功能会更好,或者wp_create_thumbnail()或者wp_crop_image()...谁知道! 如果我需要wp_handle_upload()为每个程序运行该功能,或者可能需要涉及该wp_generate_attachment_metadata()功能的某个程序,则我无法弄清楚该怎么做。这让我感到困惑,因为这3个图像尺寸将作为同一附件的变体以及执行该操作的方式进行关联。 我搜寻了网络,阅读了每个wp媒体/上传/图像相关文件的源,并使用了媒体上载内容的几乎所有功能,却找不到WP如何在任何地方创建3种图像尺寸,或如何做我自己。 在wp-includes / media.php中,该image_resize()功能似乎是最好的,因为它确实应该如此。我只是无法弄清楚我的一生,我到底想念什么,或者尝试做些什么,但是制作图像缩略图做错了。 这是我执行工作的功能wp_handle_upload(),但是它还需要创建100px的拇指,并调整图像的最大尺寸,例如最大宽度为500px,并另存为上载的新文件。 function update_attachment(){ global $post; wp_update_attachment_metadata( $post->ID, $_POST['a_image'] ); if( !empty( $_FILES['a_image']['name'] )) { //New upload require_once( ABSPATH . 'wp-admin/includes/file.php' ); $override['action'] = 'editpost'; $url = wp_handle_upload( $_FILES['a_image'], $override ); // $medium = image_make_intermediate_size( $uploaded_file['url'], 500, 400, true ); // $thumb …


1
获取所有已注册边栏的列表
我正在为每个类别自动注册侧栏(每个类别一个单独的小部件空间)。我正在使用的技术在这里。 在管理端,我有一个选项页面,我需要在其中显示所有已注册侧边栏的下拉列表...是否可以动态获取此已注册侧边栏列表?因为它们是在functions.php中注册的,所以我假设它们在内存中,而不是数据库中。 我可以跟踪在某些全局变量中注册的侧边栏,但是以防万一插件注册了自己的侧边栏,我也想考虑一下它们。 如果需要的话,我将深入研究核心内容,但以为有人可能会立即了解:) 谢谢

2
如何从URL检索图像并设置为特色图像/后缩略图
给定一个Vimeo ID,我可以通过Vimeo Simple API从视频中检索缩略图。而不是每次页面加载时都调用API,而是想使用save_post挂钩将图像设置为帖子缩略图(类似于此问题)。 我的问题是我不熟悉php中的URL调用。我想知道: 与相比,使用curl等方法的好处/缺点WP_Http。这个比那个好吗? 我应该调用函数以成功设置帖子缩略图的顺序。 任何帮助将不胜感激。

5
从wp_nav_menu的输出中删除包装的div和ul
我正在使用新的Wordpress菜单系统,这是wp_nav_menu()的结果 <div class="menu-main-menu-container"> <ul id="menu-main-menu" class="menu"> <li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li> <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li> <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li> </ul> </div> 我想要的只是这个: <li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li> <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li> …

4
谁是最受信任的插件开发人员?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 注意:请对问题进行投票,并通过单击问题或答案左侧的UP箭头对您认为有用的任何答案。 那里有很多插件。我们可以一直信任谁的插件? 请分享一个完全可靠的插件作者列表,以及指向其插件页面的链接。 此问题以您的functions.php文件的“最佳代码收集”为模型

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.