WordPress

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

12
是否有与WP 3.0兼容的空白主题框架?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 5年前关闭。 我不想从头开始制作自己的主题,所以我寻找了一些主题框架,但是它们都已经过时了,当我将它们安装在WP 3.0上时,它们会产生大量错误并且无法正常工作。我只需要一个3.0就绪的空白主题即可,其裸元素(仅是文本,但具有功能)可以使自己成为一个漂亮的博客。提前致谢。

4
在共享的Web主机上优化基于接近度的商店位置搜索?
我有一个项目,需要为客户建立商店定位器。 我使用的是自定义帖子类型“ restaurant-location”,并且我已经编写了代码以使用Google Geocoding API对postmeta中存储的地址进行地理编码(此处是使用JSON对美国白宫进行地理编码的链接,并且我将纬度和经度自定义字段。 我已经编写了一个get_posts_by_geo_distance()函数,该函数使用我在此幻灯片中的幻灯片中找到的公式,按地理上最接近的顺序返回帖子列表。您可能会这样调用我的函数(我从固定的“源”纬度/经度开始): include "wp-load.php"; $source_lat = 30.3935337; $source_long = -86.4957833; $results = get_posts_by_geo_distance( 'restaurant-location', 'geo_latitude', 'geo_longitude', $source_lat, $source_long); echo '<ul>'; foreach($results as $post) { $edit_url = get_edit_url($post->ID); echo "<li>{$post->distance}: <a href=\"{$edit_url}\" target=\"_blank\">{$post->location}</a></li>"; } echo '</ul>'; return; 这是函数get_posts_by_geo_distance()本身: function get_posts_by_geo_distance($post_type,$lat_key,$lng_key,$source_lat,$source_lng) { global $wpdb; $sql =<<<SQL SELECT rl.ID, …

1
古腾堡(Gutenberg):有没有办法知道当前块是否在InnerBlocks内部?
所以我在Wordpress Gutenberg中使用嵌套块。我正在对应用引导容器类的元素应用包装器。显然,我只希望在最外层的块上,而不是在嵌套块内的块上。 有没有办法知道当前块是否在InnerBlocks父块的Definiton内?我当前在包装器内应用包装blocks.getSaveElement器。 有一个更好的方法吗? 对于上下文:在以前的gutenberg版本中,以前是layout属性来实现的,但此后已被删除。我正在使用3.9.0版。 这是包装函数的简化版本: namespace.saveElement = ( element, blockType, attributes ) => { const hasBootstrapWrapper = hasBlockSupport( blockType.name, 'bootstrapWrapper' ); if (hasBlockSupport( blockType.name, 'anchor' )) { element.props.id = attributes.anchor; } if (hasBootstrapWrapper) { // HERE I NEED TO CHECK IF THE CURRENT ELEMENT IS INSIDE A INNERBLOCKS ELEMENT …

2
古腾堡如何处理React中的翻译?
我正在经历古滕贝格的源代码,例如这样,不能了解他们如何处理翻译... 他们确实导入了这个import { __ } from '@wordpress/i18n',然后在源代码中使用了this speak( __( 'Block settings closed' ) );。 谁能告诉我他们如何在ReactJS中管理这些翻译并收集到普通的.po文件中? 我想他们有一些构建过程会遍历所有文件,包括JS并收集它们,但不确定。


3
如何以数组格式获取WordPress用户名
我想在WordPress中创建自动完成功能。我想要一个可以在其中搜索用户名的搜索字段。我正在使用以下JQuery UI。 <label>Users</label> <input type="text" name="user_name" id="user-name" /> <?php $get_arr_user = array('John', 'Rogers', 'Paul', 'Amanda', 'Peter'); ?> <script> jQuery(document).ready(function($) { var availableTags = <?php echo json_encode($get_arr_user); ?>; $( "#user-name" ).autocomplete({ source: availableTags }); }); </script> 我的问题是我无法以这种格式获取用户名列表- array('John', 'Rogers', 'Paul', 'Amanda', 'Peter');如何获取?
11 users 

3
wp_add_inline_script没有依赖性
我有一个要插入页面页脚的JavaScript代码段。这是一个跟踪代码,可以说类似于Google Analytics(分析)。它没有依赖关系,是一个独立的代码段。 我可以做这样的事情 function render_tracking_code(){ wp_enqueue_script( 'depends-js', 'https://rdiv.com/dummy.js', array(), '0.01', true ); wp_add_inline_script( 'depends-js', 'aWholeBunchOfJavascriptCode' ); } add_action( 'wp_enqueue_scripts', 'render_tracking_code' ); 看起来有点愚蠢(dummy.js是一个空白文件),但是可以工作。有没有办法跳过依赖关系?

2
了解add_rewrite_rule
我正在尝试add_rewrite_rule着从URL提取参数并将其传递给请求。看到过很多与此相关的文章,但似乎无法使其正常运行。 如果url以某个字符串开头,我想将其从url中删除,并将其作为查询参数传递。 请求网址示例: http://domain.com/foo/my_page 这将转化为 http://domain.com/my_page?param=foo 如果不存在“ foo”,它应该作为正常请求通过。此逻辑应适用于我网站上的任何页面网址或自定义帖子类型的网址(基本上是foo / *)。如果URL有“ foo”将其剥离,然后将其传递给Wordpress,则认为这将是通过。 我已经有'param'作为允许的query_vars了。 总共,它需要为以下工作: / foo / my_page(页面) / foo / my_folder / my_page(子页面) / foo / example_type(自定义帖子存档) / foo / example_type / example_post(自定义帖子单)

2
登台站点,您如何管理数据库中的同步更新?
开发人员应先通过登台站点测试更新,然后再将其发布到实时服务器,这一点已被广泛接受,但是一旦开发更新需要在Wordpress DB中进行修改,事情就会变得复杂,因为实时站点中的用户也会更新数据库。 我能想象的唯一(混乱)的流程如下: 在本地服务器(WAMP,XAMP等)上测试 准备好部署后,将活动站点置于维护模式 备份活动站点(复制器,sqldump等) 创建一个锁定的实时站点到暂存站点的克隆 将修改从本地环境上传到登台站点 测试暂存站点 推动登台现场直播。 删除维护模式 上面流程的缺点: 在开发人员正在仔细测试登台站点中的更新时,停机时间可能比用户预期的要长; 可能需要手动管理修改:例如,siteorigin pagebuilder布局存储在数据库中,因此,一旦修改了布局,则必须将其手动导入到登台站点中;在这种情况下,只需将页面拖放到暂存站点中就足够了,如果可行,可以将它们导入实时站点中 我想知道是否有更好,更自动化的方法来实现这一目标。 你怎么看? 根据要求进行编辑,过去已经提出了一些解决方案,但没有一个提供最终的解决方案: 9 / 2010- 开发/登台与生产之间的数据库同步 12/ 2011-部署修改wp_options表的更新或新插件 9/2014- 如何在不覆盖新帖子/页面的情况下将本地更改上传到实时服务器? 1/2015- 如何在生产和分期中维护wordpress网站博客?
11 database  staging  sync 


4
在管理页面上按自定义帖子类型中的自定义字段过滤
我已经使用“高级自定义字段”为比赛名称,答案等创建了自定义字段。如图所示,我为比赛创建了自定义帖子类型,并使用Wordpress functions.php从我的自定义字段值中创建了列。 我正在尝试使用一个具有不同名称/标签的竞赛的下拉列表框,如下所示,但是我只能使用分类法来查找解决方案,如果可能的话,我宁愿不使用它,因为我只使用了自定义字段其他一切。 是否可以仅使用自定义字段来创建自定义“过滤依据”下拉菜单?

3
wp-cli启用维护模式
在主题或插件升级期间,启用维护模式,然后在完成后将其禁用。 是否可以手动启用/禁用维护模式? Enabling Maintenance mode... Downloading update from xxxx Disabling Maintenance mode...
11 wp-cli 

1
Wordpress何时将内联脚本包装在CDATA中?
我正在调试我们的第三方脚本存在的问题,Wordpress用户通过将脚本和html的片段复制/粘贴到其帖子的正文中来使用它们(当然是非现实示例): <script> window.foobar = window.foobar || { hello: function(){ console.log('Hello World'); } }; window.foobar.hello(); </script> 我注意到有些wordpress安装会将其包装在CDATA中,有些则不会(可能通过进行某种DOCTYPE检查-尽管我测试过的所有主题都使用HTML5 doctype)。 但是,当将脚本包装在CDATA中时,用户将受到以下bug的叮咬:https : //core.trac.wordpress.org/ticket/3670(结束符>错误地替换为>),这导致浏览器忽略了脚本内容: <script>// <![CDATA[ window.foobar = window.foobar || { hello: function(){ console.log('Hello World'); } }; window.foobar.hello(); // ]]></script> 我本人并没有拥有太多WP-Fu,而谷歌搜索只能使我按原样识别问题,所以我的问题是:WordPress何时将内联脚本确切地包装到CDATA部分中?用户可以以某种方式阻止此行为吗?用户可以在不修改WP内核的情况下以某种方式解决上述错误吗?

4
管理员:核心元查询导致编辑页面非常慢
我们一直注意到在编辑帖子或页面时加载时间非常长。使用查询监视器,我们发现此WP核心查询最多需要15到20秒。 SELECT meta_key FROM wp_postmeta GROUP BY meta_key HAVING meta_key NOT LIKE '\\_%' ORDER BY meta_key LIMIT 30 caller: meta_form() post_custom_meta_box() do_meta_boxes() 我们确实使用了很多postmeta,因为我们的一种帖子类型使用了大约20个左右的自定义字段。我想说也许我们过分依赖postmeta,但这似乎是一个非常低效的查询,因为它甚至没有选择帖子的ID。 这是常见问题吗?有没有办法通过过滤器禁用此功能?感谢您的任何投入。
11 admin  editor 

1
将CPT存档页面的Slug重写为Slug的多个名称
我有一个自定义帖子类型,带有plugin创建http://site.com/plugin/plugin-slug/的url结构的重写代码。这使得CPT存档为http://site.com/plugin/ 我想改写它,不使用页面和自定义页面模板,使用http://site.com/plugins/(这是labels=>Name在CPT)。同时保持单个帖子的状态,因为/plugin/ 这还需要支持`/ plugins / page / 21之类的东西-它目前正在这样做。

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.