Questions tagged «attachments»

附件是通过帖子编辑器的上载实用程序上载的图像或其他文件。附件可以显示在自己的“页面”或模板上。有关更多信息,请参见使用图像和文件附件。

7
如何获取附件文件的大小?
我正在使用以下模板代码来显示附件链接: $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $main_post_id ); $attachments = get_posts($args); foreach ($attachments as $attachment) { the_attachment_link($attachment->ID, false); } 但是在链接之后,我需要显示文件的大小。我怎样才能做到这一点? 我猜我可以确定文件的路径(通过wp_upload_dir()和substr()的wp_get_attachment_url())并调用,filesize()但这似乎很杂乱,我只是想知道WordPress中是否内置了一种方法。

5
将URL转换为附件/帖子ID
有什么办法可以获取图像的URL,并在数据库中找到该图像的附件或帖子ID? 情况如下: 我正在循环遍历我的帖子内容中所有被“ a”标签包围的“ img”标签。如果'img'标签的src属性与外部'a'标签的href属性不匹配,那么我想替换'img'标签。在此过程中,如果要删除的“ img”在图库中,则我要删除该帖子,然后将替换的“ img”放在其位置。我尝试使用这样的功能: function find_image_post_id($url) { global $wpdb; $postid = $wpdb->get_var($wpdb->prepare("SELECT DISTINCT ID FROM $wpdb->posts WHERE guid='$url'")); if ($postid) { return $postid; } return false; } 这显然是不对的,因为具有讽刺意味的是,guid在全球范围内并不唯一。我曾经(在同一脚本中使用较早版本)上传了一个具有相同名称的文件(为什么?因为它具有更高的分辨率,并且我正试图替换同一图像的低分辨率版本),尽管wordpress会以不同的名称保存该图像在目录中,GUID设置为相同。(可能是一个错误)。 我可以使用另一种技术吗?

6
如何检索图像附件的替代文本?
我正在使用一个attachment.php文件来显示在其他位置单击过的图像的大版本。我想使用javascript将图像替代文本作为标题拖到图像下方,但是当使用wp_get_attachment_image_src()时,不包含替代文本。我不认为WP具有检索它的功能,因此我需要自己的。要编写该功能,我需要知道...存储图像的替代文本在哪里? 我的附件页面使用wp_get_attachment_image_src(),其中不包含替代文本。 <div class = "entry"> <?php if ( wp_attachment_is_image( $post->id ) ) : $att_image = wp_get_attachment_image_src( $post->id, "large");?> <a href="<?php echo wp_get_attachment_url($post->id); ?>" title="<?php the_title(); ?>" rel="attachment"> <img class="attached_img" src="<?php echo $att_image[0];?>" width="<?php echo $att_image[1];?>" height="<?php echo $att_image[2];?>" class="attachment-medium" alt="<?php $post->post_excerpt; ?>" /> </a> } <?php endif;?> </div> 由此可见: …

6
上传图片时如何解决HTTP错误?
我正在使用Apache和PHP 5.3.X在Ubuntu 12.04上使用WordPress 3.4.1 当我登录到仪表板并添加新帖子时。然后尝试上传图片以设置为特色图片,我会看到一个带有消息“ HTTP错误”的红色框。 我读过一些关于有人说不使用Flash上​​传器而只使用浏览器上传器的信息,但是当我尝试这样做时,我只会收到500 Internal Server Error。 我尝试AddType x-mapp-php5 .php在.htaccess文件的顶部添加内容,但没有任何变化。 禁用所有插件无效。我尝试重新安装。没运气。 更新10/17/2016- 如果您使用的是自定义角色或功能,请尝试使用本机角色/功能,然后重试。 要考虑的事项: 文件所有权 档案权限 .htaccess配置 PHP版本7+ WordPress当前版本 如果您在代理后面操作,请确保正确配置了代理服务器超时。

1
如何管理WP 3.5+中特定帖子的附件关系
在WordPress 3.5中,媒体管理已完全改变。而且,将附件与特定职位相关(我认为)基本上只是为了向后兼容。因此,将附件从媒体模式中上传到任何帖子类型的帖子之后,它会建立一种关系,其中帖子ID是附件ID的父级,就像已经有很长时间了。 但是,将附件上载到帖子后,就没有地方可以从帖子的媒体模式中管理与该帖子有关系的附件。 上载图像后,我可以立即选择并插入它们,但是由于媒体被转储到站点范围的媒体部分,因此我不再能够管理特定帖子的附件,如<3.5所示,如下所示: 这将导致以下问题: 如果不完全删除媒体并重新上传,则无法管理附件与特定帖子的关系。仅此一点就与以前没有什么不同。但是,由于媒体已与所有其他媒体一起转储到同一选项卡中,并且没有用于管理与特定帖子有关联的媒体的选项卡,因此甚至很难找到附加到特定帖子的媒体。 。 因为您可以将媒体附加到帖子上,然后再下载,所以在将许多附件上传到其他帖子之后,您想返回到旧帖子(想想滑块或产品)并更换附件媒体。祝您找到媒体好运,因为新编辑器中的“媒体”选项卡未按与当前帖子有关系的那些附件首先排列所有媒体。这是示例图片: 这里还算不错,因为只有一两个帖子分开了。但是想象一下几个月后的事情。找不到该帖子的相关附件。 那里有许多插件和自定义页面模板,它们利用了帖子及其相关附件之间的关系。因此,将来消除这些关系将非常非常困难。 我认为答案是在左侧为附加到特定帖子的媒体创建另一个选项卡。或使“媒体”选项卡的排序依据以与当前帖子相关的附件开头。这是短期修复。 从长远来看,这些插件和主题开发人员需要创建将媒体与帖子相关的其他方式。我假设有可用的钩子来创建新选项卡,并将元数据添加到附件中并发布以创建关系。 我对我的关注是否正确?要解决的想法?

4
破碎?WP_Query和“附件”作为帖子类型
我在页面上附有图库。在该页面上,我正在运行以下查询: $events_gallery = new WP_Query( // Start a new query for our videos array( 'post_parent' => $post->ID, // Get data from the current post 'post_type' => 'attachment', // Only bring back attachments 'post_mime_type' => 'image', // Only bring back attachments that are images 'posts_per_page' => '3', // Show us the …

5
我可以在附件中添加类别Metabox吗?
我register_taxonomy_for_object_type()用来将类别分类字段添加到媒体上载(附件)。我正在使用此代码来做到这一点: add_action('init', 'reg_tax'); function reg_tax() { register_taxonomy_for_object_type('category', 'attachment'); } 这样可以正常工作,并且在查看图像时将“类别”的简单文本字段添加到“媒体”页面。我真正想要的是使其显示实际的类别Metabox,以便我可以选择要使用的类别,而不仅仅是在普通字段中键入它们。我还发现,将类别的标签放入此文本字段,例如my-category-name最终像My Category Name保存时一样显示为实际的类别名称,这使得简单的文本字段不再是一个有用的选项。 我一直在查看add_post_type_support()用于添加Metabox 的功能,并已将其用于自定义帖子类型,但我看不到是否可以为附件添加相同的功能。

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 …

2
创建以图像为中心的自定义帖子类型?
有没有人提供创建以图像为中心的自定义帖子类型的提示? 详细地说,我的博客具有旋转的标题图像,如下所示: 左上角的两个图像是随机的,并且作为特定页面的附件而存在,该页面仅包含这些图像。我想知道使用自定义帖子类型以其他方式存储这些内容是否可行。我创建了一个新的帖子类型“ header-image”,并且试图找出从这里开始的方向。我希望每个标题图像“ post”都具有一个图像附件。我不是从页面中提取随机图像,而是从标头图像帖子类型中提取随机帖子。鉴于这种, 如何将简单的界面集成到附件过程中,该界面可从“新标题图像”管理页面获得? 我可以删除帖子标题和内容输入框来整理页面吗? 目标是为当前的上传过程创建一个更好的界面,并最终能够创建一个分类法来将图像标记为左图/右图。(查看上面的图像,您可以看到右侧的照片掩盖了另一张照片中的脸部。我可以通过将照片标记为左侧和/或右侧显示来避免这种情况。)我可以实现前者。 更新:根据此处的答案,我能够实现此设置。完整代码如下。

5
如何获取图片标题/ alt属性?
在我的白色主题中,没有为主页滑块发布配置alt属性。我通过媒体库界面为图像添加了替代文本。我添加了以下代码来显示替代文本/属性。但它不会显示: <img class="homepage-slider_image" src="http://www.blabla.com/wp-content/uploads/2013/06/cms-website4-1800x800.jpg" alt="" /> 这是代码: <?php $image = get_post_meta(get_the_ID(), WPGRADE_PREFIX.'homepage_slide_image', true); if (!empty($image)) { $image = json_decode($image); $image_alt = get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true); if ( empty( $image_alt )) { $image_alt = $attachment->post_title; } if ( empty( $image_alt )) { $image_alt = $attachment->post_excerpt; } $image_title = $attachment->post_title; $image_id = …

2
通过URL以编程方式获取图像并保存在上载文件夹中
我参与了从另一个CMS到WordPress的大规模迁移。我们有数据库的副本,并且已经研究出如何提取内容并使用wpdb类的实例化从中以编程方式创建WordPress帖子。 但是,有两千张图片我们希望自动进行浏览,生成各种尺寸,然后附加到帖子上,以节省大约一周的工作! 有没有一种方法可以通过URL从远程站点获取图像并将其保存在wp-uploads文件夹中?我猜这用wp_http但是我不熟悉。 有了图像并将其保存后,我就可以使用它wp_generate_attachment_metadata来创建各种尺寸并将wp_insert_attachment其附加到帖子上。 谢谢西蒙

2
如何在媒体模式中触发刷新
我正在开发一个向媒体模式添加新标签的插件,并且我需要知道一种触发附件标签刷新的方式,以便它显示新添加的附件。这是我正在使用的代码: wp.media.view.Toolbar.Custom = wp.media.view.Toolbar.extend({ initialize: function() { _.defaults( this.options, { event: 'custom_event', close: false, items: { custom_event: { text: wp.media.view.l10n.customButton, style: 'primary', priority: 80, requires: false, click: this.addAttachment } } }); wp.media.view.Toolbar.prototype.initialize.apply( this, arguments ); }, // triggered when the button is clicked addAttachment: function(){ this.controller.state().addAttachment(); this.controller.setState( 'insert' ); // …


2
在多站点中按博客ID获取上传URL
问题的实质是,我正在寻找这样的解决方案: $blog_upload_dir_info = wp_upload_dir( $date, $blog_ID ); $blog_upload_url = $blog_upload_dir_info[ 'baseurl' ]; 哪里$blog_ID是当前博客ID的不同。最“ WP-obvious”解决方案失败了: switch_to_blog( $blog_ID ); $blog_upload_dir_info = wp_upload_dir(); restore_current_blog(); 因为wp_upload_dir()依赖于WP_CONTENT_URL动态设置当前博客URL 的常数,除非设置了该选项upload_url_path。 当然,我可以设置此选项,但这会将我的代码耦合到具体的系统设置,其中包括很多“ WTF?”潜力。 因此,我决定虚拟添加此选项: /** * Apply a value to the option blog_upload_url * if there's not already one * * @wp-hook option_upload_url_path * @param string $upload_url * …

1
限制访问(某些)上载/下载的简单解决方案
初始情况 对于要设置的网站,我正在研究确保上传/下载安全并根据用户角色/功能限制对它们的访问的整个领域。当然,我已经阅读了一些与(通用)主题相关的先前问题,出于参考的原因,我发现了最重要/最有趣的问题: 如果用户未登录,如何保护上传内容? 如何限制对上传文件的访问? 限制对特定文件夹中文件的访问 如何使媒体上传私密? 将PHP下载脚本合并到`functions.php`中 补充说明 通常,额外提高Wordpress安装的安全性(例如保护您的安全)并不是一个坏主意,wp-config.php您可以做很多事情,应该做很多事情。那里有大量的信息如何做到这一点。我是在这个问题的背景下,最关心我的上传/下载。 Wordpress上传不受保护,每个人都可以浏览该uploads文件夹,除非您使用以下命令阻止它.htaccess: Options All -Indexes 该.htaccess文件必须放置在uploads文件夹内。但这并不能真正保护它们,只是使查找文件变得更加困难。另外,您可以防止hotlinking,本质上限制访问基于referrer-尽管我认为我提到的情况有些不同,但我不再赘述,您可以找到很多有关此的信息。 当然,可以将帖子设为私有,也可以使用合适的模板文件创建自定义帖子类型,以将该帖子类型设为私有,但这不能保护您的文件。对于将文件包装在类似is_user_logged_in()或的条件中可以说是相同的is_admin()。 在旁注中,有很多插件可以保证您的文件安全和受保护,但是其中许多插件只是假装这样做,其中一些原因已在上面。我只是想点出来,因为我很确定每个人都不知道它-因此,请注意这一点。 目的 我的意图是能够限制对(某些)上传和下载的访问。为确保不需要的任何人都可以访问它们,不是偶然的,或者是有人知道文件名,这些文件应该真正是私有且安全的。毕竟,只有某些人可以无例外地访问。 另外,我不需要将整个网站私有化,的确会适得其反-它用于公开演示。此外,我希望该解决方案易于使用,原因很简单,因为与之合作的某些人并非完全是计算机专家,通常是这样。 题 因此,问题是,是否存在(相对)简单的方法来限制对(某些)上传和相应下载的访问?就像我进行的那样,这意味着真正保护和保护它们的方法吗?

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.