WordPress

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


4
使Google Web字体排入队列,而不会弄乱URL中的符号
使用通常的方法使Google Web字体入队,即使用wp_enqueue_style类似这样的功能... function wpse_google_webfonts() { wp_enqueue_style( 'google-webfonts', 'http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Open+Sans:400italic,700italic,400,700' ); } add_action( 'wp_enqueue_scripts', 'wpse_google_webfonts' ); ...结果将link标签放置在标题中,如下所示: <link rel='stylesheet' id='google-webfonts-css' href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed%7COpen+Sans%3A400italic%2C700italic%2C400%2C700&ver=3.5' type='text/css' media='all' /> 如您所见,结果URL被编码。 我敢肯定,它不会造成任何问题,但是为了保持内容的整洁,我想问一问-是否有一种方法可以通过functions.phpURL输出使Google Web字体(通过插件而不是通过插件)入队没有编码? 就像这样: <link rel='stylesheet' id='google-webfonts-css' href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Open+Sans:400italic,700italic,400,700?ver=3.5' type='text/css' media='all' /> 赏金理由 @webaware的答案几乎是完美的,特别是因为它类似于将“ Open Sans” Google Web字体排入“二十二十二”主题中所采用的方法。 输出中的唯一问题是: <link rel='stylesheet' id='twentytwelve-fonts-css' href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Open+Sans:400italic,700italic,400,700&subset=latin,latin-ext' type='text/css' media='all' /> 请注意&?应该为&,否则提供的字体文件仅带有latin字形(即,subset除非您使用URL 的参数,否则忽略&它的HTML实体)。 任何可以帮助修改@webaware答案,以便输出看起来像这样的人... …


3
如何设置自定义帖子类型以使其不显示在前端
我在一个网站中使用自定义帖子类型进行图片幻灯片演示。我已将可公开查询的值设置为false / off,但是当Google抓取我的网站时,我看到了404错误的幻灯片URL。我认为通过在Wordpress上公开查询,不会创建这些前端URL。 如何完全关闭自定义帖子类型的前端URL和页面? 编辑 通过添加public => false,has_archive => false,publicaly_queryable => false,和query_var => false我已经成功地摆脱了在谷歌的404错误。我还添加了@Norcross提供的功能,只是为了很好。

3
如何在新媒体库的附件上使用分类法?
WordPress 3.5更改了媒体管理,现在“媒体库”编辑屏幕使用默认的帖子类型UI。对于具有不同用户和附件的WP安装,分类法非常有用,它为查找附件和/或添加分类提供了更多可能性。 我已经看到可以在附件中添加类别Metabox吗?在WPSE上使用,但不是完美地与WP 3.5一起使用,并且也没有关于在附件上使用自定义类别的信息,不仅是帖子的类别。 简而言之:是否可以将自定义类别/标签添加到附件,以在WP 3.5的媒体库中使用?

1
用$ wpdb获取数组
我正在尝试将此代码转换为使用$ wpdb。 $data = array(); $query = "SELECT * FROM videos"; $query_exec = mysql_query($query) or die(); while($row = mysql_fetch_array($query_exec)) { if ( $row['video'] == "http://youtu.be/".end(explode('http://youtu.be/',$row['video'])) ) { $data[$row['id']] = end(explode('http://youtu.be/', $row['video'])); } else { $data[$row['id']] = end(explode('?v=', $row['video'])); } } 所以我做了: $query = $wpdb->get_results("SELECT * FROM videos"); 但是,如何获取数组?预先感谢您的帮助。
9 wpdb  array 

3
如何在wp admin中按发布元名称排序?
我正在尝试按我为帖子添加的帖子元名称进行排序。帖子meta是“ _merchant_id”,我知道如何按merchan_id排序,但我不知道如何按商家名称排序。 我按这样的商家ID进行排序: public function column_orderby( $vars ) { if ( isset( $vars['orderby'] ) && is_admin() ) { switch ( $vars['orderby'] ) { case 'merchant': $vars = array_merge( $vars, array( 'meta_key' => '_merchant_id', 'orderby' => 'meta_value_num' ) ); break; ... 商户是另一种职位类型(“商户”)。如何按商家名称排序? UPDATE(通过屏幕截图改进说明):
9 wp-admin 

3
删除所有瞬变是否有危险?
我有一个供客户使用的大型站点,并且由于它是真正定制的wordpress安装,具有许多功能扩展,因此我无法使用缓存插件。 为了提高性能,我使用瞬态构建了很多站点(例如,导航,带有所有标记的google映射等),并使动态内容保持动态。 这里的问题是,如果我更改了任何内容,则必须手动删除特定的瞬态以查看当前结果。当从不同的频道输入时,该网站会显示不同的菜单和googlemaps,因此我希望每个区域都有十个瞬态。 您是否要创建一个函数一次删除所有这些瞬变函数(并列出瞬变的名称),还是可以删除站点上的所有瞬变? 并不是真的那么紧迫,但是对于未来的发展,我想知道您是否对类似的东西有任何问题,以及如何管理所有瞬态。 欢呼,菲斯基

1
comment_post_ID 0(无法从信息中心删除)
碰到一些我以前从未见过的怪事。客户拥有一个活跃的博客,并使用Akismet(付费)来防范垃圾邮件。他们每天至少报告一次垃圾邮件评论,该评论被正确标记为垃圾邮件,但是无法通过单击Empty Spam或手动选择该条目并尝试将其删除而从管理控制台中删除。 我调查了一下,发现该数据库条目具有comment_post_ID的0,我必须假定它未附加到任何帖子上。我显然可以从数据库中删除它们的手册(并且可以正常工作),但是还没有找到任何有关这可能的信息。 我已经替换了核心WP文件(认为这可能是一个安全问题),并且还重新生成了wp-config.php文件中的salts / keys 而不作任何更改。 任何想法都会有很大帮助。谢谢! 更新资料 尽管这可能是由我引起的,但我不确定这是否是InMotion hack的结果。 这是完成的操作: 更改了FTP,MySQL密码 创建新的数据库用户,分配给数据库 更新了盐/键 wp-config.php 更改了所有WP用户密码 重新安装核心WordPress文件 Akismet缺乏关于这一想法的想法(不要怪他们),因为这一想法是持久的。


2
在受密码保护的页面上添加错误消息
我用密码保护了页面。如果插入的密码不正确,我想添加一条简短的错误消息。 我怎样才能做到这一点? 我添加此代码以显示和自定义页面上的表单。 我的 functions.php add_filter( 'the_password_form', 'custom_password_form' ); function custom_password_form() { global $post; $label = 'pwbox-'.( empty( $post->ID ) ? rand() : $post->ID ); $o = '<form class="protected-post-form" action="' . get_option('siteurl') . '/wp-pass.php" method="post">' . '<p class="glossar-form-p">Alle weiteren Glossarbeiträge sind durch ein Passwort geschützt. </p>' . ' <label for="' …
9 forms  password 

2
在wp_remote_get中传递当前的cookie以获取草稿发布预览
我想在wp_remote_get函数中传递当前用户cookie,以获取草稿发布预览页面内容。 我已经检查了以下问题: 您传递给wp_remote_get的URL以加载当前帖子预览的正文? 如何通过身份验证从wp_remote_get调用“预览帖子”? 但是在它们两个中都出现了如何使cookie传递给wp_remote_get函数。 我假设我可以做我想将cookie传递给wp_remote_get函数的操作,在WordPress文档中,这里提到了WordPress如何存储cookie,但是如何确保它们在cookie名称中使用哈希值呢? 我要执行的操作是给一个Post ID,以获取WordPress Post视图页面的内容并对其进行分析。对于已经发布的帖子,一切正常,但是对于草稿帖子,我知道该页面不存在。这是简化的代码: (...) $post_permalink = get_permalink($post_id); $response = wp_remote_get($post_permalink); $whole_post_page = $response['body']; (...) 该代码在帖子的所有者对其进行编辑时执行,因此用户已经通过身份验证,并且该请求是针对本地帖子的。如何完成wp_remote_get返回“预览预览”页面的内容?就像WordPress在浏览器中转到预览链接时一样。 先谢谢了。


1
核心升级后如何防止重定向到“关于”?
在其中wp-admin/includes/update-core.php找到以下行: add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' ); 我要删除此操作,因此创建了一个具有以下内容的mu插件: <?php # -*- coding: utf-8 -*- add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 ); function t5_no_redirect_after_update() { remove_action( '_core_updated_successfully', '_redirect_to_about_wordpress' ); } 它没有任何作用。我仍然被重定向。经过单站点和多站点安装测试。 我想我像往常一样想念一些明显的东西。:) 如何做得更好? 更新资料 根据布雷迪的回答,我构建了一个非常简单的版本: <?php # -*- coding: utf-8 -*- /* Plugin Name: T5 No redirect after core upgrade. */ add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 …


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.