WordPress

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


1
是否可以扩展WP Customize JS方法?
我想知道是否有可能在中扩展匿名api对象 的方法wp-admin/js/customize-control.js。我需要用自己的自定义逻辑覆盖这些方法之一,但是我怀疑这是不可能的,因为它包装在立即调用的函数表达式中: /* globals _wpCustomizeHeader, _wpMediaViewsL10n */ (function( exports, $ ){ // code })( wp, jQuery ); 据我所知,我无法从window对象扩展原型,因为它是匿名执行的,无法从中获得window.wp.customize。知道这样的事情是否可能吗?甚至在.toggle()方法文档/说明中都提到了对此的覆盖:https : //github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110,但是我我不确定它们是否意味着通过简单地分叉整个JS文件,使WP版本出队并排入您自己的队列,或者它们的含义或其他含义。 注意,似乎应该有可能,wp.customize.{method}.extend({ foo: // replace method foo here })但这仅适用于公共基类/对象,不适用于那些wp-admin/js/customize-control.js

3
在Wordpress中处理SVG渲染的方法?
随着Internet浏览器的进步,我发现自己在对网站进行编码时使用SVGS越来越舒适……尤其是对于图标和可以用png即时替换的简单图形。 看起来wordpress几乎支持SVGS。我说这几乎是因为: 默认情况下,wordpress中不是允许的文件类型。因此,您需要在上传SVG之前添加它 您在媒体库中看不到SVG缩略图。(见下图) 有时,当您将其添加到编辑器中(通过添加媒体按钮)时,编辑器并不知道svg的大小,因此尽管将svg添加为图像,但其宽度和高度均为零。 当您从媒体上传弹出窗口中单击“编辑图像”时,您会收到一条消息,提示“图像不存在”。参见下图。 我对这个清单中的项目1感到满意,但是有人能找出解决方案2 3和4的方法吗? 关于项目1的更新: 要允许新的mime类型(例如SVG),您可以在functions.php中添加一个钩子 function allow_new_mime_type($mimes) { $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_filter( 'mime_types', 'allow_new_mime_type' ); 现在,您应该可以上传SVG了。您可以在本教程中找到更多信息。这只能解决第1项,正如我之前提到的,这对我来说不是问题(尽管我认为默认情况下应允许)。 有关项目2的更新: 我做了一些挖掘,并找到了决定附件是否为图像的函数。看来一切都归结为wp-includes / post.php中的此功能 /** * Check if the attachment is an image. * * @since 2.1.0 * * @param int $post_id Attachment ID * @return …
9 svg 

4
将Javascript添加到WordPress菜单
有没有办法将javascript放在WordPress菜单项的URL部分中?我的网站上有实时聊天功能,应该将此代码放到网站上,以建立一个打开实时聊天的链接(如此处建议)。 <!-- BEGIN OLARK CHAT LINK --> <a href="javascript:void(0);" onclick="olark('api.box.expand')"> Click here to chat! </a> <!-- END OLARK CHAT LINK --> 客户端需要实用工具导航栏中的链接,该工具栏是使用WordPress仪表板中的WordPress菜单创建的。但是,当我将其复制并粘贴javascript:void(0);" onclick="olark('api.box.expand')到WordPress仪表板的URL框中时,它只是消失了,链接仍然无效。 我读到的东西说,也许我可以在有问题的链接上放一个自定义类,然后编写一个Javascript函数,当该类的链接被单击时将触发该函数。我尝试了一下,但无法正常工作。我不太了解Javascript,因此有可能我写的完全错误。 有谁知道如何做到这一点?我想不使用插件就这样做。

1
将变量从header.php传递到模板,反之亦然
我已经定义了一个变量-称为它$header_var,它位于header.php文件中。我希望将此变量传递到我的模板文件中(在本例中为taxonomy.php)。 我也希望能够以其他方式做同样的事情,例如$template_var从我的taxonomy.php 传递到header.php。 这是有可能的,因为一旦加载标头就没有声明该变量? 我尝试使用全局$header_var但没有运气。 有什么建议么?

2
检测$ wpdb-> get_results()生成的错误
使用$ wpdb-> get_results()时如何检测错误? 例如: $result = $wpdb->get_results("SELECT * FROM this is not a valid query"); 前面的代码不会产生任何异常或错误;它只是将$ result设置为一个空数组。我们如何可靠地检测到由get_results()生成的错误?
9 database  wpdb  errors 

2
使用下一步导航按钮为具有管理员指针的用户创建WP教程
我旨在为我的用户创建一个有关管理区域的教程。为此,我使用了WP核心中提供的管理指针。我的目标: 我快到了 我到目前为止所得到的... 排队wp指针脚本: add_action( 'admin_enqueue_scripts', 'custom_admin_pointers_header' ); function custom_admin_pointers_header() { if ( custom_admin_pointers_check() ) { add_action( 'admin_print_footer_scripts', 'custom_admin_pointers_footer' ); wp_enqueue_script( 'wp-pointer' ); wp_enqueue_style( 'wp-pointer' ); } } 帮助程序功能,包括条件检查和页脚脚本: function custom_admin_pointers_check() { $admin_pointers = custom_admin_pointers(); foreach ( $admin_pointers as $pointer => $array ) { if ( $array['active'] ) return true; …
9 wp-admin 

5
无法获取子主题以加载最新版本的style.css
我正在使用正确设置的儿童主题。但我只是无法获得Child主题style.css中的更改以反映在网站中。尝试清空浏览器缓存一百万次,但它不起作用! 我创建了子模板文件,并且它们可以覆盖父模板文件。 我注意到,从视图上看,它会在样式表的末尾放置一个版本号,如下所示:-style.css?ver = 3.9.1,即使我未创建任何版本! 在我创建的另一个站点中,没有样式表的版本控制,因此为什么在我不希望设置样式表时将其自动放入。 如何强制它使用Child style.css文件的最新版本而不是版本? 这是我的网站网址:-http: //www.peterswebservices.co.uk/

2
过滤wp_nav_menu()
我尝试将导航分为3个单个导航栏(1、2、3+级)。三是因为它们在网站上是分开的,因此只能根据当前页面显示。 -0-------1--------2-------3+- level/depth Home | |\___ Lobby | |\___ Projects | |\___ Project A | | |\___ Review | | |\___ Comments | | \____ Download | \____ Project B | |\___ Review | |\___ Comments | \____ Download |\___ Blog | \____ About |\___ Legal \____ Contact 包含级别1的第一个导航栏始终可见。仅当im当前在相应的父页面上时,第二个导航栏(级别2)。第三个导航栏也是如此(级别3+,另外,因为该导航栏还将包含级别3的子页面和子子页面...)。 简而言之:我想在其导航栏中显示所有父菜单,并且仅显示当前页面的直接子菜单。 …

1
带换行符的post_content
我希望能够获得带换行符的post_content。最好的方法是什么? 我以前使用the_content()正常工作,直到需要安装一个在每个帖子上添加共享按钮的插件为止。 从那时起,我的the_content的输出包括来自共享按钮的文本。 我尝试使用post_contents,其中包含我需要在模板文件上输出的正确内容,但是问题是换行符被剥离了。 是否有可能保留保留换行符的post_content? 谢谢

1
在类别页面上显示当前类别标题
在类别模板中使用以下代码,但不显示我所在的当前类别页面,而是显示第一篇文章的第一个类别。例如,在“食品类别”页面上,应显示“食品”,而应显示“甜点”,因为第一篇文章的类别是甜点。这是网站http://theveganproject.ca/wp/category/food/ add_action ( 'genesis_before_content', 'sk_show_category_name' ); function sk_show_category_name() { $category = get_the_category(); if (is_category()) { echo '<div id="cat-name">' . $category[0]->cat_name . '</div>'; } }

2
Wordpress将端口8080上的连接重定向到80
我有一个wordpress博客,由Ubuntu 12.04上的apache2(在端口80上)和nginx(在端口8080上)提供。现在,每当客户端通过端口80连接时,一切都是笨拙的,但是当客户端连接到8080以查看同一博客时,该连接将重定向到apache。为什么会这样呢?我四处搜索,发现这是Wordpress的限制,它将所有连接重定向到仪表板中设置的站点URL(默认为端口80)。 有没有解决的办法?到端口8080的连接将由Nginx提供服务,而不是由Apache提供服务 / etc / nginx / sites-enabled / wordpress的内容 server { listen 8080; root /var/www; index index.php index.html index.htm; server_name abc.com; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; deny all; } error_page 404 /404.html; error_page 500 502 503 …

1
在首页上混合常规和自定义帖子类型(使用meta_query)
不知道如何实现这一目标。我试图在网站首页上混合标准帖子和自定义帖子,但是我只想在设置了元值的情况下显示自定义帖子。显示帖子效果很好,'post_type' => array('game', 'post')但是当我添加meta_query时,常规帖子不再显示(这很有意义,因为它们不符合meta_query条件)。 因此,如何将meta_query限制为仅自定义帖子类型,以便仍包含常规帖子?

2
厚盒更换
不幸的是,我正在寻找Media Uploader中使用的ThinBox替代产品。 任何搜索都无法找到如何利用Media Uploader的方法,也没有任何关于模态窗口的脚本的信息。 有人可以帮我吗?有没有一种方法可以使用与Media Uploader所使用的模式相同的模式,但是可以像在ThinBox中那样将自定义内容放入其中?

2
如何使用内置的Wordpress“浏览链接”功能?
我正在编码一个小部件,我希望用户能够像编辑常规文章或页面时一样选择一个链接(当您单击小链接图标并在弹出窗口中获得AJAX搜索功能时) )。有谁知道我是如何工作的?我有一个要附加的HTML按钮,甚至单击它,还有一个要输入值的字段。 在class-wp-editor.php中,我发现了一些有趣的东西,想知道我是否需要这些文件。 wp_enqueue_script('wp-fullscreen'); wp_enqueue_script('wplink'); fullscreen.link();像上面提到的文件一样,在调用时,出现此错误: Uncaught ReferenceError: wpActiveEditor is not defined ..而我现在很困惑,因为引用该变量的JS在我看来很疯狂。 想要指出正确的方向吗?我很想让这个工作正常进行,它将为我的小部件提供一个杀手级的用户界面! - - - 编辑 - - - - 到目前为止,除了我之前所说的脚本包含内容之外,没有那么多代码。 <label for="<?php echo $this->get_field_name('link'); ?>">Link URL (including http://) : </label> <input type="text" id="<?php echo $this->get_field_id('link'); ?>" name="<?php echo $this->get_field_name('link'); ?>" value="<?php if(isset($link)) echo esc_attr($link); ?>" class="widefat" /> …

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.