WordPress

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

1
用户表-user_name与nicename
有人可以解释users表中user_name和user_nicename字段的区别或不同用法吗?它们似乎是一样的,并且表现相同。 我在网络搜索中发现了一堆帖子,但它们仅与旧版wp相关。

1
如何上传和允许下载.mobi和.epub格式
我有可供下载的产品。 我创建了自定义元框来保存所需的文件数据,它使我可以将.doc和.pdf文件精细地上传到自定义元中... 但是,当我尝试上传.mobi和.epub时,它不会上传文件... 我怀疑尝试并单击下载链接也下载文件时也会遇到问题-但是当我到达它时会越过那座桥。 在这方面的任何帮助都是很棒的。
10 uploads 

5
使用media_sideload_image()上传后获得$ image_id
我想上传图片并将其设置为帖子中的精选图片。我试过的是: $image_id = media_sideload_image($image_url, $post_id, $post_id); update_post_meta($post_id, '_thumbnail_id', $image_id); 但是media_sideload_image()不会返回image_id,而是返回html图像。我如何获得image_id?
10 uploads 

1
非主题评论回复并带有原始评论的链接
我将解释我要完成的工作。 我希望有常规的非线程(扁平/经典)评论,并带有指向每个评论的回复链接。当有人回复评论时,回复评论将以最新评论的形式在顶部(或底部)结尾,就像在默认的非线程评论中一样,但是与默认的非线程评论不同,回复应显示指向的链接。原始评论/作者。 在wordpress论坛上有一个建议的解决方案: http://wordpress.org/support/topic/reply-to-link-for-chronologic-non-threaded-comments 我只是不工作。我不确定发布者将哪些代码放在不同的文件中。我试图使用代码并将函数挂钩到comment_post: add_action('comment_post', 'print_reply_link', 10, 2); function print_reply_link( $comment_id, $approved ){ if( $approved ){ $comment = get_comment( $comment_id ); if ( $comment->comment_parent ) { $parent = get_comment( $comment->comment_parent ); $parent_link = esc_url( get_comment_link( $comment->comment_parent ) ); printf( ' in reply to <a href="%1$s">%2$s</a>', $parent_link, $parent->comment_author ); } …
10 comments 

1
如何从自定义分类管理页面中删除标签云?
当我注册分类法时,我认为这可能会将其隐藏: 'show_tagcloud' => false 默认类别页面不显示标签云,那么为什么我的自定义分类页面如何禁用? register_taxonomy('gmc_region', 'recipe', array( 'labels' => array( 'name' => _x( 'Regions', 'taxonomy general name' ), 'singular_name' => _x( 'Region', 'taxonomy singular name' ), 'popular_items' => __( 'Popular Regions' ), 'search_items' => __( 'Search Regions' ), 'all_items' => __( 'All Regions' ), 'parent_item' => __( 'Parent Region' …

2
如何安全地实现无密码登录功能?
刚发布了一个新插件:No More Passwords 我目前已将其标记为Beta,因为登录平台是一个敏感问题,并且我不想发布可能存在安全漏洞的内容。所以这是我的查询: 安全吗? 我已完成以下操作以确保安全性: 用户名/密码永远不会来回传递,只有唯一的哈希。 哈希一旦使用就从数据库中删除,除非数据库被黑客入侵,否则无法使用尚未使用的旧哈希,但是那将带来更大的问题。 所有对哈希的数据库查询均已转义,以防止XSS攻击。 随机数已添加到ajax调用中。 随机数和确认已添加到移动端,以防止CSRF攻击。 在这里,我对它的工作原理有完整的描述。 我希望通过Twitter实现oauth的下一个版本,因为iOS现在可以在其中工作了。 感谢您的预先输入。 编辑:我决定作为一个添加的层,我将添加一个sessionID检查,以确保它是与启动QR码登录的浏览器相同的浏览器登录。
10 plugins  security 

1
开发,测试和发布
您如何开发,测试和部署生活中的Wordpress网站? 我发现这总是有些麻烦,尤其是在涉及数据库的情况下-主要是因为拥有测试站点需要部署一个全新的数据库,有时所有数据库都可以完全相同,只是所有链接都更改为测试网站网址,而不是实时网站。 同样,自上次您需要修复错误或开发新内容以来,用户上传的所有上传内容都必须复制到测试站点。 别人怎么做?你只是忍受别人吗?您是否使用巧妙的版本控制系统有帮助? 谢谢
10 testing 

6
如何从插件向页面模板列表中添加选项?
在过去的几个小时中,我一直在寻找一种从插件中创建自定义页面模板的方法,但是还没有运气。 我专门想做的是在编辑页面时将选项添加到可用页面模板列表中,而不使用其他方法,例如if( is_page( 'page-slug' ) ) { /* etc */ } 是否可以修改全局变量来执行此操作? 编辑: 我目前正在使用此代码,基于@ m0r7if3r在评论中给我的链接,问题是它将在查看页面时运行此功能,但在编辑页面时不运行(用页面模板填充下拉列表) : class JW_SiteGrader { private static $instance; private function __construct() { add_action( 'template_redirect', array( &$this, 'sitegrader_template_redirect' ), 20 ); } public static function getInstance() { // Return the class data in a Singleton fashion if …

2
如何隐藏PUBLISH metabox中的所有内容(“移至垃圾箱和PUBLISH”按钮除外)
我有一个自定义帖子类型(称为联系人)。由于此帖子类型无法像帖子一样工作,因此我不想显示“保存草稿”,“预览”,“状态”,“可见性”或“发布日期”。 我要显示的唯一选项是“发布”和“移至垃圾箱”按钮。 有没有办法隐藏其他选项?如果没有,如何创建可以添加到新的metabox的新发布并移至垃圾箱?
10 metabox  publish 

3
apply_filters()和the_excerpt提供了意外的结果
我觉得我肯定在这里缺少明显的东西,但是我似乎无法让WordPress合作。 我正在生成具有功能的Facebook OG标签。除摘录外,其他所有内容均正常运行。 由于的弃用get_the_excerpt($post->ID),是否有另一种方法来创建摘录而不必创建一个全新的循环?对我来说似乎太过分了。 我的本能是使用apply_filters(): $description = apply_filters('the_excerpt', get_post($post->ID)->post_content); 这给了我完整的帖子,包括HTML格式的内容。好吧,一定是错的。所以我尝试了下一个合理的想法: $description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content); 没有骰子。现在没有HTML,但是仍然是全文(确实令人困惑)。 好的没问题。让我们跳过所有花哨的东西,然后去整理一下条目: $description = wp_trim_excerpt(get_post($post->ID)->post_content); 没变。 所以,我的问题是:到底发生了什么?这里有我想念的东西吗? 我进入WP核心以了解其the_excerpt()工作原理,这似乎与我的建议相同: /** * Display the post excerpt. * * @since 0.71 * @uses apply_filters() Calls 'the_excerpt' hook on post excerpt. */ function the_excerpt() { echo apply_filters('the_excerpt', get_the_excerpt()); } 根据调查结果,我有几个问题: …
10 excerpt  filters 

6
无法将脚本排入页脚吗?
WordPress Codex 说: (旧的法典页面) $ in_footer (布尔值)(可选)通常,脚本位于该部分中。如果此参数为true,则脚本位于的底部。这要求主题在适当的位置具有wp_footer()钩子。请注意,即使将脚本放在页脚中,也必须在运行wp_head之前使其脚本入队。(WordPress 2.8中的新增功能)默认值:false 所以我true在每个脚本之后添加src path: /** * JavaScript */ function my_scripts_method() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js', true ); wp_enqueue_script( 'jquery' ); } add_action('wp_enqueue_scripts', 'my_scripts_method'); function media_queries_script() { wp_register_script( 'mediaqueries', get_template_directory_uri() . '/js/css3-mediaqueries.js', true ); wp_enqueue_script( 'mediaqueries' ); } add_action('wp_enqueue_scripts', 'media_queries_script'); function custom_script() { …

3
使用htaccess将wp-content / themes / name / images屏蔽为images目录
我正在尝试我认为掩盖我的url确实很简单的方法,但似乎无法使其正常工作。我希望能够链接到我的img标签中的图像,而不必键入完整的URL。 即 Current url: http://server.com/wp-content/themes/standard/images/img.jpg or <img src = "http://server.com/wp-content/themes/standard/images/img.jpg" /> 但是在我的页面上我只想做 <img src="http://server.com/images/img.jpg" /> 但是在我的本地主机上似乎没有任何工作。我在Windows 7机器上运行Apache服务器。我正在尝试使用.htaccess来完成上述操作。这是我网站根目录中的.htaccess文件。 更新:我尝试了下面的ZweiBlumen建议,但这似乎不起作用。然后,我尝试了Geerts建议,并将重写方法添加到了我的管理文件夹的misc.php中。然后,我转到我的永久链接页面并点击保存。这样做的结果意味着我的.htaccess文件夹已被重写,其产生的输出如下。 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^css/(.*) /wp-content/themes/standard/css/$1 [QSA,L] RewriteRule ^js/(.*) /wp-content/themes/standard/js/$1 [QSA,L] RewriteRule ^images/(.*) /wp-content/themes/standard/images/$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule …

4
在一页上使用多个查询时,获取当前循环的发布计数
我正在尝试获取循环内当前帖子的数量。我在主题的一页上使用了多个循环。到目前为止,我有: $my_post_count = $wp_query->post_count; 但是,当我打印$ my_post_count时,它将返回我WP网站上所有帖子的编号。可能与在一页上使用多个查询有关吗?我尝试在每个循环后使用wp_reset_query,以确保我不会那样扔东西。我究竟做错了什么?
10 wp-query  loop 


2
带有复选框的元框未更新
我试图设置一个具有单个复选框的meta_box,但一切正常,但是,如果我取消选中它并保存帖子,它将再次标记为选中状态,我一直在查看,但找不到错误。 看看我的代码。 function am_checkbox_option() { global $post; $custom = get_post_custom($post->ID); $front_event = $custom["front_event"][0]; wp_nonce_field(__FILE__, 'am_front_event'); if ( $front_event ) { $checked = "checked=\"checked\""; } else { $checked = ""; } ?> <label>Display Content? (type yes):</label> <input type="checkbox" name="front_event" value="true" <?php echo $checked; ?> /> <?php } } add_action('save_post', function() { …

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.