'functions.php'파일을위한 최고의 코드 모음
-
-
기존의 기존 결과도 추가하십시오.Pleae add your old, existing findings as well.
- 0
- 2010-09-09
- hakre
-
안녕하세요 * @ NetConstructor * : StackExchange 사람들이 찾아 보라고했던 "List of X"질문이기 때문에이 질문에 대해 우려합니다. http://meta.stackexchange.com/questions/57226/should-we-x-close-reason 목록을 가지고 있습니다. 저의 큰 관심사는 귀하의 질문을 생각할 때 거의 무한한 수의 답변을 구상 할 수 있다는 것입니다. 따라서이 질문이 무작위로 수집 될 것이라는 점이 우려됩니다.대답은 있지만 확실한 것은 없습니다.나는 그것을 닫기 전에 다른 사람의 의견을 듣고 싶다.Hi *@NetConstructor*: I'm concerned about this question because it's a "List of X" question the StackExchange people have told us to look out for: http://meta.stackexchange.com/questions/57226/should-we-have-a-list-of-x-close-reason My big concern is when I think of your question I can envision an almost infinite number of answers and as such I'm concerned that this question will result in a collection of random answers but nothing definitive. I want to get other's opinions on this before I (vote to) close it though as I don't want to be heavy handed, I just have concerns.
- 1
- 2010-09-09
- MikeSchinkel
-
내 투표가 닫히거나 커뮤니티 위키를 만듭니다.My vote is either close or make community wiki
- 0
- 2010-09-09
- Chris_O
-
처음 5 개의 답변이 OP에 의해 이루어졌고 질문이 하나의 확실한 답변이 아닌 일련의 답변을 수집하는 데 더 적합하다는 것을 고려할 때 이것은 커뮤니티 위키 여야합니다.Considering the first 5 answers were by the OP and the question seems more geared at collecting an array of responses rather than a single, definitive answer, this should be a community wiki.
- 13
- 2010-09-09
- EAMann
-
질문을 위키로 수정할 수없는 것 같습니다.이 올바른지?seems that one can not just modify a question into a wiki. Is this correct?
- 0
- 2010-09-09
- NetConstructor.com
-
그럼에도 불구하고 이것은 유용합니다 (내가 많이 사용할 스 니펫 2 개를 찾았습니다) 커뮤니티 위키가되고 새로 시작해야 여기로 물건을 옮길 수 있습니까?Nonetheless this is useful (I have found 2 snippets I will be making heavy use of)if it's to be a community wiki and has to be started fresh to do that maybe we can just move the stuff here there?
- 1
- 2010-09-09
- Ashley G
-
@ NetConstructor.com ... 마지막 댓글을 작성할 때 질문을 위키로 변환했습니다.혼란이 생기면 죄송합니다.일반적으로 (OP로서) 언제든지 질문을 위키로 바꿀 수 있습니다.@NetConstructor.com ... I converted the question into a wiki when I wrote my last comment. Sorry if that caused any confusion. Normally, you (as the OP) can turn a question into a wiki at any time.
- 0
- 2010-09-10
- EAMann
-
@EAMann 감사합니다 ... 나는 그 옵션을 찾고 있었지만 그것이 어디에 있는지 확실하지 않았습니다.변환 한 후에 더 이상 옵션이 표시되지 않았을까요?@EAMann thanks... I was looking for that option but was not sure where it was located. Maybe after you converted it I just did not see the option anymore?
- 0
- 2010-09-10
- NetConstructor.com
-
*@NetConstructor.com*-빙고.일단 변환되면 변환됩니다 ... 옵션이 설정되고 페이지에서 사라집니다.*@NetConstructor.com* - Bingo. Once it's converted, it's converted ... the option is set and disappears from the page.
- 0
- 2010-09-10
- EAMann
-
이 나쁜 스타일을 고려하고 플러그인을 선호합니다.a) 전담 개발자가 구축합니다.b) 유지 관리되고 쉽게 업그레이드됩니다.작은 사용자 정의 스 니펫의 경우 Wordpress를 사용자 정의하는 매우 깔끔하고 이식 가능한 방법을 제공하는 플러그인 Shortcode Exec PHP를 권장합니다.I would consider this bad style and prefer plugins. a) They are built by dedicated deveoplers b) they are maintained and easily upgraded. For little custom snippets I recommend the plugin Shortcode Exec PHP which yields a very clean -- and portable -- way to customize your Wordpress.
- 0
- 2010-11-10
- Raphael
-
흥미롭게도 대부분의 사람들은 테마를 개발할 때functions.php 파일 내에서 지역화되기를 원한다는 데 동의 할 것이라고 생각합니다.while interesting I believe most people would agree that when your developing themes you want things localized within a functions.php file
- 0
- 2010-11-24
- NetConstructor.com
-
@NetConstructor-다른 항목을 편집하려는 경우,그렇게 할 때 조심해 주시겠습니까,내 게시물의 들여 쓰기를 망쳤습니다. 나는 항상 가독성을 위해 들여 쓰기를 유지하기 위해 노력합니다.시간을내어 편집 내용을 설명해 주시면 감사하겠습니다 (제 항목을 편집해야하는 이유를 알 수 없었고 편집 요약도 없었습니다).@NetConstructor - If you're going to edit others entries, can you please take care when doing so, you spoiled the indentation in my posting, i always make an effort to maintain indentation for readability. I'd also appreciate it if you could take the time to explain edits you make(i couldn't see any reason for your to edit my entry - and there was no edit summary).
- 0
- 2011-01-28
- t31os
-
@t31os-모든 항목과 일관성을 유지하기 위해 편집했습니다.@t31os -- I edited it to keep it consistent with all of the entries
- 0
- 2011-02-07
- NetConstructor.com
-
주제와 관련이없는 모든 답변은 삭제해야합니다.이 스레드는 나쁜 코딩 관행에 대한 좋은 예입니다.All answers not related to a theme should be removed. This thread is a good example for bad coding practices.
- 17
- 2011-06-13
- fuxia
-
나는 동의하지 않을 것입니다.주제와 관련이없는 질문입니다.적용 가능한 모든 기능 PHP 모드는 환영하며 사용자는 그에 따라 투표를해야합니다.I would have to disagree. Question was not related to the theme. All applicable functions.PHP mods are welcome and users should up/down vote accordingly.
- 1
- 2011-06-14
- NetConstructor.com
-
functions.php 파일이 테마 디렉토리에있는 파일이 어디에도 언급되어 있지 않아서 다음과 같은 혼란을 야기한다는 것은 흥미 롭습니다. http://wordpress.stackexchange.com/questions/25341/error-after-editing-functions-phpIt's interesting that it's not mentioned anywhere that the functions.php file is the one in your theme directory, leading to confusion, such as this: http://wordpress.stackexchange.com/questions/25341/error-after-editing-functions-php
- 1
- 2011-08-09
- scribu
-
사람들이 테마의functions.php를 사용하는 대신 [사용자 정의 기능 플러그인 생성] (http://www.doitwithwp.com/create-functions-plugin/)을 장려하는 것이 더 낫다고 생각합니다.I think it'd be better to encourage people to [create a custom functionality plugin](http://www.doitwithwp.com/create-functions-plugin/) instead of using their theme's functions.php
- 17
- 2012-01-16
- Ian Dunn
-
@Cor van Noorloos 커뮤니티 위키 상태의 사용이 네트워크에 의해 크게 감소하고 권장되지 않았습니다.간단히 말해서 "QA에는 적합하지 않지만 커뮤니티 위키입니다!"변명은 더 이상 날지 않습니다.여기에 대한 답변은 무질서하고 제대로 유지되지 않는 글롭이되었으며 와우/재미있는 요소로만 방문했습니다.네트워크 전체에서 이와 같은 질문을 처리하기 위해 많은 움직임이있었습니다.@Cor van Noorloos the use of community wiki status had been greatly reduced and discouraged by network. Simply put "it's not really good fit for QA, but it's community wiki!" excuse doesn't fly anymore. Answers here became disorderly and poorly maintained glob, only visited for wow/fun factor. There had been a lot of movement all over network to squash questions like this.
- 0
- 2012-02-19
- Rarst
-
이 특정 "위키"의 종결과 관련하여 나는 이것이 재개되는 것에 투표합니다.분명히이 위키 게시물은이 사이트에있는 다른 질문이나 위키의 3 배에 해당하는 30,000 개의 뷰가 있고 주제 자체가 다른 질문의 두 배인 119 번 찬성 투표를 받았다는 사실로 매우 인기가 높습니다.또는 주제.가치에 동의하는 경우 "다시 열기"링크를 클릭하여 다시 열도록 투표하십시오.In regards to the closing of this specific "wiki" I vote that this be reopend. Obviously this wiki post is highly popular demonstrated by the fact that it has 30,000 views which is three times the amount of ANY other question or wiki on this site and the topic itself has been up-voted 119 times which is double that of any other question or topic. If you agree in its value please vote to have it reopen by clicking the "reopen" link.
- 1
- 2012-02-20
- NetConstructor.com
-
@ NetConstructor.com 페이지 뷰의 순수한 수는 품질을 나타내는 지표가 아닙니다.구체적인 답변과 좋은 코딩 관행으로 구체적인 질문을 장려해야합니다.이 실은 그 반대입니다.@NetConstructor.com The pure number of page views is not an indicator for quality. We should encourage specific questions with specific answers and good coding practices. This thread is the opposite.
- 3
- 2012-02-22
- fuxia
-
@toscho-이것이 특히 이것이 위키로 설정된 이유이며 따라서이 게시물은 완벽하게 유효합니다.페이지 뷰와 관련하여 제가 지적한 점은이 주제가이 사이트의 다른 주제보다 3 배 인기가 높기 때문에 언급되었습니다.이 웹 사이트는 특히 이와 같은 질문으로 인해 인기가 높으므로 닫는 것이 의미가 없습니다.이러한 주제에 대한 커뮤니티의 관심이 관리자에게 가치가없는 경우가 아니면 토론 할 수 없다고 생각합니다.@toscho - that is specifically why this was setup as a wiki and therefore this post is perfectly valid. The point I made in respect to page views was mentioned because this topic obviously is 3X as popular as any other topic on this site. This website is popular specifically due to questions like these and therefore it makes no sense to close it. I don't think one can debate this unless community interest in topics like these has no value towards admins.
- 0
- 2012-02-24
- NetConstructor.com
-
방금 한 몇 가지 수학을 바탕으로 여기에 주석을 하나 더 추가하겠습니다.이 웹 사이트에 "1"이상의 등급으로 등록 된 사용자가 790 명 미만입니다.이 개인 풀이이 사이트에 실제로 투표 및/또는 기여한 사람들을 대표한다고 가정하면 (그리고 790 명은 믿을 수 없을만큼 공정하게)이 질문에 찬성 한 117 명이이 주제가 유용하다고 생각한 모든 활성 사용자의 14 % 이상을 나타냅니다.주제를 다시 여는 데 투표하십시오.I will add one more comment on here based off some math I just did. There are less than 790 registered users on this website with a rating of "1" or more. Assuming this pool of individuals represents those who actually vote and/or contribute to this site (and 790 being incredibly fair) then 117 people who voted this question up represents 14%+ of all active users who found this topic useful. Vote to reopen the topic please.
- 0
- 2012-02-24
- NetConstructor.com
-
@ NetConstructor.com 사람들이 당신의 주장을 더 잘 볼 수있는 [Meta] (http://meta.wordpress.stackexchange.com/)에서 토론하세요.:)@NetConstructor.com Discuss it on [Meta](http://meta.wordpress.stackexchange.com/) where people can see your arguments better. :)
- 6
- 2012-02-24
- fuxia
-
103 대답
- 투표
-
- 2010-09-10
모든 사이트 설정을 표시하는 숨겨진 관리 기능 사용
테스트 대상 : WordPress 3.1 RC3
이 작은 코드는 꽤 멋진 일을합니다.& quot; 모든 설정 & quot; 링크가있는 추가 옵션이 설정 메뉴에 추가됩니다.그러면 WordPress 사이트와 관련된 데이터베이스 내 모든 설정의 전체 목록이 표시됩니다.아래 코드는이 링크를 관리자에게만 표시하고 다른 모든 사용자에게는 숨 깁니다.
// CUSTOM ADMIN MENU LINK FOR ALL SETTINGS function all_settings_link() { add_options_page(__('All Settings'), __('All Settings'), 'administrator', 'options.php'); } add_action('admin_menu', 'all_settings_link');
Enable Hidden Administration Feature displaying All Site Settings
Tested on: WordPress 3.1 RC3
This little piece of code does something pretty cool. It will add an additional option to your settings menu with a link to "all settings" which will show you a complete list of all the settings you have within your database related to your WordPress site. The code below will only made this link visible to an administrator user and hide it for all other users.
// CUSTOM ADMIN MENU LINK FOR ALL SETTINGS function all_settings_link() { add_options_page(__('All Settings'), __('All Settings'), 'administrator', 'options.php'); } add_action('admin_menu', 'all_settings_link');
-
개발에 환상적입니다!플러그인의 DB 버전을 저장하기 위해 옵션 테이블을 자주 사용합니다.phpMyAdmin을 사용하여 업그레이드 스크립트를 테스트하기 위해 이전 DB 버전으로 재설정하는 것은 고통 스럽습니다. 이렇게하면 ** 훨씬 쉬워집니다 **!!!Fantastic for development! I use the options table frequently to store DB versions for my plug-ins ... using phpMyAdmin to reset to an old DB version to test an upgrade script is a pain ... this will make it **so much easier**!!!
- 0
- 2010-09-15
- EAMann
-
yoursite/wp-admin/options.php로 이동하여 동일한 옵션 페이지 (로그인시)로 이동할 수도 있습니다.You can also get to the same options page (when logged in) by going to yoursite/wp-admin/options.php
- 3
- 2015-10-09
- j08691
-
- 2010-09-10
로그인 로고 수정 & amp; 이미지 URL 링크
테스트 대상 : WordPress 3.0.1
이 코드를 사용하면 WordPress 로그인 페이지 로고와이 로고의 href 링크 및 제목 텍스트를 쉽게 수정할 수 있습니다.
add_filter( 'login_headerurl', 'namespace_login_headerurl' ); /** * Replaces the login header logo URL * * @param $url */ function namespace_login_headerurl( $url ) { $url = home_url( '/' ); return $url; } add_filter( 'login_headertitle', 'namespace_login_headertitle' ); /** * Replaces the login header logo title * * @param $title */ function namespace_login_headertitle( $title ) { $title = get_bloginfo( 'name' ); return $title; } add_action( 'login_head', 'namespace_login_style' ); /** * Replaces the login header logo */ function namespace_login_style() { echo '<style>.login h1 a { background-image: url( ' . get_template_directory_uri() . '/images/logo.png ) !important; }</style>'; }
수정 : 사이트 로고를 사용하여 로그인 로고를 대체하려는 경우 다음을 사용하여 해당 정보를 동적으로 가져올 수 있습니다 ( WP3.5 에서 테스트 됨). :
function namespace_login_style() { if( function_exists('get_custom_header') ){ $width = get_custom_header()->width; $height = get_custom_header()->height; } else { $width = HEADER_IMAGE_WIDTH; $height = HEADER_IMAGE_HEIGHT; } echo '<style>'.PHP_EOL; echo '.login h1 a {'.PHP_EOL; echo ' background-image: url( '; header_image(); echo ' ) !important; '.PHP_EOL; echo ' width: '.$width.'px !important;'.PHP_EOL; echo ' height: '.$height.'px !important;'.PHP_EOL; echo ' background-size: '.$width.'px '.$height.'px !important;'.PHP_EOL; echo '}'.PHP_EOL; echo '</style>'.PHP_EOL; }
Modify the Login Logo & Image URL Link
Tested on: WordPress 3.0.1
This code will allow you to easily modify the WordPress Login page Logo as well as the href link and title text of this logo.
add_filter( 'login_headerurl', 'namespace_login_headerurl' ); /** * Replaces the login header logo URL * * @param $url */ function namespace_login_headerurl( $url ) { $url = home_url( '/' ); return $url; } add_filter( 'login_headertitle', 'namespace_login_headertitle' ); /** * Replaces the login header logo title * * @param $title */ function namespace_login_headertitle( $title ) { $title = get_bloginfo( 'name' ); return $title; } add_action( 'login_head', 'namespace_login_style' ); /** * Replaces the login header logo */ function namespace_login_style() { echo '<style>.login h1 a { background-image: url( ' . get_template_directory_uri() . '/images/logo.png ) !important; }</style>'; }
EDIT: If you want to use the site logo to replace the login logo, you can use the following to dynamically pull that information (tested on WP3.5):
function namespace_login_style() { if( function_exists('get_custom_header') ){ $width = get_custom_header()->width; $height = get_custom_header()->height; } else { $width = HEADER_IMAGE_WIDTH; $height = HEADER_IMAGE_HEIGHT; } echo '<style>'.PHP_EOL; echo '.login h1 a {'.PHP_EOL; echo ' background-image: url( '; header_image(); echo ' ) !important; '.PHP_EOL; echo ' width: '.$width.'px !important;'.PHP_EOL; echo ' height: '.$height.'px !important;'.PHP_EOL; echo ' background-size: '.$width.'px '.$height.'px !important;'.PHP_EOL; echo '}'.PHP_EOL; echo '</style>'.PHP_EOL; }
-
- 2010-11-09
검색 결과에 맞춤 게시물 유형을 포함합니다.
// MAKE CUSTOM POST TYPES SEARCHABLE function searchAll( $query ) { if ( $query->is_search ) { $query->set( 'post_type', array( 'site', 'plugin', 'theme', 'person' )); } return $query; } add_filter( 'the_search_query', 'searchAll' );
기본적으로 사이트 기본 RSS 피드에 맞춤 게시물 유형을 추가합니다.
// ADD CUSTOM POST TYPES TO THE DEFAULT RSS FEED function custom_feed_request( $vars ) { if (isset($vars['feed']) && !isset($vars['post_type'])) $vars['post_type'] = array( 'post', 'site', 'plugin', 'theme', 'person' ); return $vars; } add_filter( 'request', 'custom_feed_request' );
& quot; 지금 바로 & quot;에 맞춤 게시물 유형 포함 관리 대시 보드 위젯
여기에는 맞춤 게시물 유형과 & quot; 지금 바로 설정 & quot;의 각 유형에 대한 게시물 수가 포함됩니다. 대시 보드 위젯.
// ADD CUSTOM POST TYPES TO THE 'RIGHT NOW' DASHBOARD WIDGET function wph_right_now_content_table_end() { $args = array( 'public' => true , '_builtin' => false ); $output = 'object'; $operator = 'and'; $post_types = get_post_types( $args , $output , $operator ); foreach( $post_types as $post_type ) { $num_posts = wp_count_posts( $post_type->name ); $num = number_format_i18n( $num_posts->publish ); $text = _n( $post_type->labels->singular_name, $post_type->labels->name , intval( $num_posts->publish ) ); if ( current_user_can( 'edit_posts' ) ) { $num = "<a href='edit.php?post_type=$post_type->name'>$num</a>"; $text = "<a href='edit.php?post_type=$post_type->name'>$text</a>"; } echo '<tr><td class="first num b b-' . $post_type->name . '">' . $num . '</td>'; echo '<td class="text t ' . $post_type->name . '">' . $text . '</td></tr>'; } $taxonomies = get_taxonomies( $args , $output , $operator ); foreach( $taxonomies as $taxonomy ) { $num_terms = wp_count_terms( $taxonomy->name ); $num = number_format_i18n( $num_terms ); $text = _n( $taxonomy->labels->singular_name, $taxonomy->labels->name , intval( $num_terms )); if ( current_user_can( 'manage_categories' ) ) { $num = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$num</a>"; $text = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$text</a>"; } echo '<tr><td class="first b b-' . $taxonomy->name . '">' . $num . '</td>'; echo '<td class="t ' . $taxonomy->name . '">' . $text . '</td></tr>'; } } add_action( 'right_now_content_table_end' , 'wph_right_now_content_table_end' );
Include custom post types in the search results.
// MAKE CUSTOM POST TYPES SEARCHABLE function searchAll( $query ) { if ( $query->is_search ) { $query->set( 'post_type', array( 'site', 'plugin', 'theme', 'person' )); } return $query; } add_filter( 'the_search_query', 'searchAll' );
Add your custom post types to your sites main RSS feed by default.
// ADD CUSTOM POST TYPES TO THE DEFAULT RSS FEED function custom_feed_request( $vars ) { if (isset($vars['feed']) && !isset($vars['post_type'])) $vars['post_type'] = array( 'post', 'site', 'plugin', 'theme', 'person' ); return $vars; } add_filter( 'request', 'custom_feed_request' );
Include custom post types in "Right Now" admin dashboard widget
This will include your custom post types and the post counts for each type in the "Right Now" dashboard widget.
// ADD CUSTOM POST TYPES TO THE 'RIGHT NOW' DASHBOARD WIDGET function wph_right_now_content_table_end() { $args = array( 'public' => true , '_builtin' => false ); $output = 'object'; $operator = 'and'; $post_types = get_post_types( $args , $output , $operator ); foreach( $post_types as $post_type ) { $num_posts = wp_count_posts( $post_type->name ); $num = number_format_i18n( $num_posts->publish ); $text = _n( $post_type->labels->singular_name, $post_type->labels->name , intval( $num_posts->publish ) ); if ( current_user_can( 'edit_posts' ) ) { $num = "<a href='edit.php?post_type=$post_type->name'>$num</a>"; $text = "<a href='edit.php?post_type=$post_type->name'>$text</a>"; } echo '<tr><td class="first num b b-' . $post_type->name . '">' . $num . '</td>'; echo '<td class="text t ' . $post_type->name . '">' . $text . '</td></tr>'; } $taxonomies = get_taxonomies( $args , $output , $operator ); foreach( $taxonomies as $taxonomy ) { $num_terms = wp_count_terms( $taxonomy->name ); $num = number_format_i18n( $num_terms ); $text = _n( $taxonomy->labels->singular_name, $taxonomy->labels->name , intval( $num_terms )); if ( current_user_can( 'manage_categories' ) ) { $num = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$num</a>"; $text = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$text</a>"; } echo '<tr><td class="first b b-' . $taxonomy->name . '">' . $num . '</td>'; echo '<td class="t ' . $taxonomy->name . '">' . $text . '</td></tr>'; } } add_action( 'right_now_content_table_end' , 'wph_right_now_content_table_end' );
-
이 답변의 마지막 스 니펫에 대해.이것은 각 게시물 유형에 대해 수동으로 추가했기 때문에 큰 추가입니다.내가 가진 유일한 문제는 기본 "카테고리"및 "태그"항목 뒤에 데이터를 추가한다는 것입니다.기본 "카테고리"또는 "태그"항목을 아래로 이동하거나 수동으로 추가 할 수 있도록 제거하도록 답변을 업데이트 할 수 있습니까?Regarding the last snippet to this answer. This is a great addition as I was adding these manually for each post type. The only issue I have with this is that it adds the data after the default "category" and "tag" entry. Could you update your answer to move the default "category" or "tag" ones down or remove them so that they can be added manually?
- 0
- 2011-02-22
- NetConstructor.com
-
@ NetConstructor.com 귀하의 요청을 이해하지 못하는 것 같습니다.그렇게한다면 좀 더 어려운 일이 될 것 같고,지금 당장 그렇게하는 방법을 알아낼 시간이 없습니다.@NetConstructor.com I don't think I understand your request. If I do, then I think it would be a bit more of a difficult thing to do, and don't really have time right now to figure out how to do it.
- 0
- 2011-02-23
- jaredwilli
-
검색 결과에 맞춤 게시물 유형 포함-이제는`register_post_type`의`exclude_from_search` 매개 변수를 사용하여이 작업을 수행 할 수 있습니다.Include custom post types in the search results - I guess, now you can do this with `exclude_from_search` param of `register_post_type`...
- 0
- 2013-12-16
- Krzysiek Dróżdż
-
- 2010-09-09
ADMIN 사용자를 제외한 모든 사용자에 대한 업데이트 알림 제거
테스트 대상 : WordPress 3.0.1
이 코드는 & quot; admin & quot; 업데이트가있을 때 WordPress에서 알림을받습니다.
// REMOVE THE WORDPRESS UPDATE NOTIFICATION FOR ALL USERS EXCEPT SYSADMIN global $user_login; get_currentuserinfo(); if ($user_login !== "admin") { // Change admin to the username that gets the updates add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 ); add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) ); }
사용자 'admin'이 아닌 관리자에게만 업데이트 알림을 표시하도록 버전이 변경되었습니다.
// REMOVE THE WORDPRESS UPDATE NOTIFICATION FOR ALL USERS EXCEPT SYSADMIN global $user_login; get_currentuserinfo(); if (!current_user_can('update_plugins')) { // Checks to see if current user can update plugins add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 ); add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) ); }
Remove Update Notification for all users except ADMIN User
Tested on: WordPress 3.0.1
This code will ensures that no users other than "admin" are notified by WordPress when updates are available..
// REMOVE THE WORDPRESS UPDATE NOTIFICATION FOR ALL USERS EXCEPT SYSADMIN global $user_login; get_currentuserinfo(); if ($user_login !== "admin") { // Change admin to the username that gets the updates add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 ); add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) ); }
Changed version to only show update notification for admin users (as opposed to just the user 'admin'):
// REMOVE THE WORDPRESS UPDATE NOTIFICATION FOR ALL USERS EXCEPT SYSADMIN global $user_login; get_currentuserinfo(); if (!current_user_can('update_plugins')) { // Checks to see if current user can update plugins add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 ); add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) ); }
-
이것은 이상적이지 않습니다.관리자의 로그인이 여전히 기본 'admin'인 경우에만 작동하며 보안상의 이유가 아닙니다.대신 사람들이 메시지를 보도록하려는 특정 기능을 확인해야합니다.This is far less than ideal. It will only work if the admin's login is still the default 'admin', which it shoudln't be for security reasons. Instead you should check for a specific capability that you want people to have to see messages.
- 8
- 2010-09-11
- jerclarke
-
즉if (! current_user_can ( 'manage_options')) {... add_filter ...}-이중 댓글에 대해 죄송합니다. Enter 키를 누르면 댓글이 제출된다는 사실을 잊었습니다)I.e. if (!current_user_can('manage_options')) {...add_filter...} -- Sorry about double comment, I forgot that hitting enter submits comments)
- 1
- 2010-09-11
- jerclarke
-
그래서 관리자 사용자 이름을 변경할 수있는 코드에 주석을 추가했습니다.어떻게 개선/재 작성 하시겠습니까?Thats why I added the comment to the code where you can change the admin username. How would you improve/rewrite it?
- 0
- 2010-09-12
- NetConstructor.com
-
가장 좋은 방법은 전역 $ user_login 및get_currentuserinfo ()를 제거하고 대신if 절에서 current_user_can을 사용하는 것입니다.3 개 대신 1 개 라인이며 표준 방식입니다.메시지에서 ACT에 필요한 특정 기능을 확인할 수 있습니다.이 경우 'update_core'및 'update_plugins'가 있습니다.The best way is to remove the global $user_login and get_currentuserinfo() and instead use current_user_can in your if clause. It's only 1 line instead of 3 and its the standard way. You can check for the specific capability that would be needed to ACT on the messages, in this case there's 'update_core' and 'update_plugins'.
- 0
- 2010-09-12
- jerclarke
-
그래서 :if (! current_user_can ( 'update_plugins')) {/* REMOVE MESSAGES */}so: if (!current_user_can('update_plugins')) {/*REMOVE MESSAGES*/}
- 2
- 2010-09-12
- jerclarke
-
그래서 전체 코드는 어떻게 보일까요?so the full code would look like what?
- 0
- 2010-09-13
- NetConstructor.com
-
@Jeremy Clarke 그렇다면이 코드가 올바른 작업 방법일까요?그러나 특정 사용자 이름이 알림을 받도록 허용하려면 위의 코드가 가장 좋은 방법일까요? if (! current_user_can ( 'update_plugins')) { add_action ( 'init',create_function ( '$ a',"remove_action ( 'init','wp_version_check');"),2); add_filter ( 'pre_option_update_core',create_function ( '$ a',"returnnull;")); }@Jeremy Clarke so would this code then be the correct way of doing things? But, if you just wanted to allow a specific username to get the notices would the code above be the best way? if (!current_user_can('update_plugins')) { add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 ); add_filter( 'pre_option_update_core', create_function( '$a', "return null;" )); }
- 0
- 2010-09-17
- NetConstructor.com
-
특정 사용자 이름을 확인하려면 약간 더 효과적인 방법이있을 수 있지만 원래 답변의 코드가 허용된다고 생각합니다.내 솔루션을 사용하는 전체 코드는 마지막 댓글에있는 것과 같습니다.귀하의 답변과 동일하지만 $ user_login!=='admin'대신 current_user_can () 검사를 사용하십시오.If you wanted to check for a specific user name I suppose your code in the original answer is acceptable, though there may be a slightly more effective way. The full code using my solution would look like what you have in your last comment. It's the same as your answer but with the current_user_can() check instead of the $user_login !== 'admin'.
- 0
- 2010-09-22
- jerclarke
-
답변을 편집하고 current_user_can ( 'update_plugins')을 사용하는 버전을 추가했습니다.I edited the answer and added the version that uses current_user_can('update_plugins')
- 0
- 2010-09-27
- Travis Northcutt
-
이 로직은 코어 내부에 있어야합니다.This logic must go inside the core
- 0
- 2010-12-27
- Atif Mohammed Ameenuddin
-
방금 코드를 시도했습니다.하지만 코드를 사용하면 오류 페이지가 나타납니다.두 코드 모두 동일한 문제I just tried the codes. But I am getting some error page if I use the codes. Same problem with both the codes
- 0
- 2011-06-29
- user391
-
나는이 스 니펫이 수년 동안 관련성을 잃었다 고 생각합니다.실제 WordPress에서 관리자는 업데이트 알림을 보는 유일한 사람입니다.I think this snippet lost it's relevance over the years. In actual WordPress the administrator is the only one who is seeing update notifications.
- 0
- 2014-08-28
- netblognet
-
- 2010-09-16
Google CDN에서jQuery로드
테스트 대상 : WordPress 3.0.1
// Even more smart jQuery inclusion :) add_action( 'init', 'jquery_register' ); // Register from Google and for footer function jquery_register() { if ( !is_admin() ) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', ( 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' ), false, null, true ); wp_enqueue_script( 'jquery' ); } }
보안을 위해 WordPress 버전 정보 제거
테스트 대상 : WordPress 3.0.1
// Remove version info from head and feeds function complete_version_removal() { return ''; } add_filter('the_generator', 'complete_version_removal');
스팸 추가 & amp; 프런트 엔드의 댓글 링크 삭제
테스트 대상 : WordPress 3.0.1
이렇게하면 스팸을 추가하고 링크를 삭제하여 프런트 엔드에서 댓글을 더 쉽게 관리 할 수 있습니다. **
// Spam & delete links for all versions of WordPress function delete_comment_link($id) { if (current_user_can('edit_post')) { echo '| <a href="'.get_bloginfo('wpurl').'/wp-admin/comment.php?action=cdc&c='.$id.'">del</a> '; echo '| <a href="'.get_bloginfo('wpurl').'/wp-admin/comment.php?action=cdc&dt=spam&c='.$id.'">spam</a>'; } }
RSS 피드에 대한 공개 게시 연기
테스트 대상 : WordPress 3.0.1
마지막으로,나는 항상 내 텍스트에서 적어도 몇 가지 오류를 발견하기 때문에 내 RSS 피드에 게시하는 것을 10-15 분 동안 연기하고 싶습니다. 다른 용도는 RSS 리더에게 콘텐츠를 제공하기 전에 하루 또는 일주일 동안 귀하의 사이트에 독점적으로 콘텐츠를 제공하려는 경우입니다.
// Delay feed update function publish_later_on_feed($where) { global $wpdb; if (is_feed()) { // Timestamp in WordPress format $now = gmdate('Y-m-d H:i:s'); // Value for wait; + device $wait = '10'; // integer // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // Add SQL syntax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'publish_later_on_feed');
Loading jQuery from the Google CDN
Tested on: WordPress 3.0.1
// Even more smart jQuery inclusion :) add_action( 'init', 'jquery_register' ); // Register from Google and for footer function jquery_register() { if ( !is_admin() ) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', ( 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' ), false, null, true ); wp_enqueue_script( 'jquery' ); } }
Remove the WordPress Version Info for Security
Tested on: WordPress 3.0.1
// Remove version info from head and feeds function complete_version_removal() { return ''; } add_filter('the_generator', 'complete_version_removal');
Add Spam & Delete Links to Comments on Front End
Tested on: WordPress 3.0.1
This makes it way easier to manage comments from the front end by adding spam and delete links.**
// Spam & delete links for all versions of WordPress function delete_comment_link($id) { if (current_user_can('edit_post')) { echo '| <a href="'.get_bloginfo('wpurl').'/wp-admin/comment.php?action=cdc&c='.$id.'">del</a> '; echo '| <a href="'.get_bloginfo('wpurl').'/wp-admin/comment.php?action=cdc&dt=spam&c='.$id.'">spam</a>'; } }
Delay the public posting to RSS Feed
Tested on: WordPress 3.0.1
Finally, I like to delay posting to my RSS feeds for 10-15 minutes because I always find at least a couple errors in my text. Other uses are in case you want content to be exclusive to your site for a day or a week before pushing it out to your RSS readers.
// Delay feed update function publish_later_on_feed($where) { global $wpdb; if (is_feed()) { // Timestamp in WordPress format $now = gmdate('Y-m-d H:i:s'); // Value for wait; + device $wait = '10'; // integer // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // Add SQL syntax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'publish_later_on_feed');
-
내 게시물의 출처 : http://wpengineer.com/320/publish-the-feed-later/더 많은 정보source on my post: http://wpengineer.com/320/publish-the-feed-later/ with more informations
- 0
- 2010-09-17
- bueltge
-
생성기 필터를 제거 할 수도 있습니다.`remove_action ( 'wp_head','wp_generator');`You can also just remove the generator filter: `remove_action('wp_head', 'wp_generator');`
- 1
- 2010-09-18
- Gipetto
-
왜 우리는 관리자를 위해 Google cdn을 사용하지 않습니까?나는 그것을 얻지 못했다Why dont we use google cdn for admin too? I didnt get it
- 0
- 2010-11-05
- Ünsal Korkmaz
-
@Derek Perkins-각 코드 조각을 다른 답변으로 만들어서 각각 개별적으로 투표 할 수 있습니까?@Derek Perkins - Can you make each of these code snippets a different answer so they can each be voted on separately?
- 0
- 2010-11-06
- MikeSchinkel
-
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js는 1 시간 후에 만료됩니다.** 항상 **은 1 년 후에 만료되는 http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js와 같은 전체 버전 정보를 사용합니다.http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js expires after just one hour. **Always** use the full version information like http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js – that expires after one year.
- 25
- 2010-11-10
- fuxia
-
앞으로 몇 주 내에 이러한 각 위키 항목을 개별 항목으로 분할 해 주시겠습니까?나는 당신을 위해 그것을하고 싶었지만 당신이 공유 한 정보에 대해 내가 지적하려고하는 것처럼 보이게하고 싶지 않았습니다.Can you please split each of these wiki entries up into separate entries within the next few weeks. I wanted to do it for you but I did not want to make it seem like I am trying to take points for information you shared.
- 0
- 2011-01-26
- NetConstructor.com
-
"보안을 위해 WordPress 버전 정보 제거"코드는 실제로 사이트의 보안을 높이기 위해 아무 작업도 수행하지 않습니다.사이트에서 사용되는 WP 버전의 노출도 멈추지 않습니다.The "Remove the WordPress Version Info for Security" code doesn't actually do anything to increase the security of your site. It doesn't even stop exposure of the WP version being used on your site.
- 5
- 2011-02-11
- Joseph Scott
-
사실 Joseph이 아닙니다. WordPress 버전이 노출되면 사람들이 이전 버전을 실행 중인지 확인할 수 있으므로 취약성이 노출됩니다.모든 WordPress 설치에서이를 제거하는 것은 항상 좋은 결정입니다.개인적으로 보안 문제이기 때문에 애초에 왜 그것을 넣었는지조차 모르겠습니다.Not true Joseph, if your WordPress version is exposed then people can see if you are running an older version, thus exposing your vulnerabilities. It is always a good decision to remove that from all WordPress installs. Personally, I don't even know why they put it there in the first place as it IS a security issue.
- 1
- 2014-05-12
- Jeremy
-
- 2010-09-11
DB 부풀림을 방지하기 위해 최대 게시물 개정 수를 설정합니다.
테스트 대상 : WordPress 3.0.1
기본값은 무제한이며 마지막 5 개 수정 사항 만 기억하도록 설정됩니다.
<사전> <코드>/** * 상수가 wp-config.php에 설정되지 않은 경우 포스트 개정을 설정하십시오. */ if (! defined ( 'WP_POST_REVISIONS')) define ( 'WP_POST_REVISIONS',5);코덱스 페이지 wp-config.php 수정 .
Set a maximum number of post revisions to avoid DB bloat.
Tested on: WordPress 3.0.1
The default is infinite, and this will set it to only remember the last five edits:
/** * Set the post revisions unless the constant was set in wp-config.php */ if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 5);
For what it's worth, there are a ton of great ideas for CONSTANTS that can be set on the Codex page Editing wp-config.php.
-
게시물 유형별로 설정할 수 있습니까?Can this be set on a per post type basis?
- 0
- 2010-09-12
- NetConstructor.com
-
wp_save_post_revision ()에서 그 사용법을 살펴보면 포스트 유형에 따라 구별하는 방법이없는 것 같습니다.필터 나 값에는 아무것도 없지만 아마 있어야합니다.Looking at its usage in wp_save_post_revision() there doesn't seem to be a way to distinguish based on post types. There's no filter or anything on the value, though there probably should be.
- 0
- 2010-09-12
- jerclarke
-
감사합니다 Jeremy-다른 사람에게이 작업을 수행하는 방법을 알고 있다면 여기에 게시하십시오.thanks Jeremy - To anyone else, if you know how to do this please post it here.
- 0
- 2010-09-14
- NetConstructor.com
-
개인적으로는 10 개를 선호합니다. 두 배라는 것을 알고 있지만 수정이 필요할 때는 항상 5보다 오래되었습니다.personally I prefer 10. I know it's double but always when I need a revision it's always older then 5
- 1
- 2012-09-04
- janw
-
- 2011-12-04
크기가 조정 된 이미지 선명하게 만들기 (JPEG 만 해당)
이 기능은 크기가 조정 된 JPEG 이미지를 선명하게합니다. 차이점의 예 :
function ajx_sharpen_resized_files( $resized_file ) { $image = wp_load_image( $resized_file ); if ( !is_resource( $image ) ) return new WP_Error( 'error_loading_image', $image, $file ); $size = @getimagesize( $resized_file ); if ( !$size ) return new WP_Error('invalid_image', __('Could not read image size'), $file); list($orig_w, $orig_h, $orig_type) = $size; switch ( $orig_type ) { case IMAGETYPE_JPEG: $matrix = array( array(-1, -1, -1), array(-1, 16, -1), array(-1, -1, -1), ); $divisor = array_sum(array_map('array_sum', $matrix)); $offset = 0; imageconvolution($image, $matrix, $divisor, $offset); imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' )); break; case IMAGETYPE_PNG: return $resized_file; case IMAGETYPE_GIF: return $resized_file; } return $resized_file; } add_filter('image_make_intermediate_size', 'ajx_sharpen_resized_files', 900);
Sharpen Resized Images (only JPEG)
This function sharpens resized JPEG images. An example of a difference:
function ajx_sharpen_resized_files( $resized_file ) { $image = wp_load_image( $resized_file ); if ( !is_resource( $image ) ) return new WP_Error( 'error_loading_image', $image, $file ); $size = @getimagesize( $resized_file ); if ( !$size ) return new WP_Error('invalid_image', __('Could not read image size'), $file); list($orig_w, $orig_h, $orig_type) = $size; switch ( $orig_type ) { case IMAGETYPE_JPEG: $matrix = array( array(-1, -1, -1), array(-1, 16, -1), array(-1, -1, -1), ); $divisor = array_sum(array_map('array_sum', $matrix)); $offset = 0; imageconvolution($image, $matrix, $divisor, $offset); imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' )); break; case IMAGETYPE_PNG: return $resized_file; case IMAGETYPE_GIF: return $resized_file; } return $resized_file; } add_filter('image_make_intermediate_size', 'ajx_sharpen_resized_files', 900);
-
훨씬 더 나은jpeg,감사합니다!3.4 알파에서 테스트 됨much much better jpegs, thanks a bunch! tested in 3.4-alpha
- 0
- 2012-04-02
- brasofilo
-
당신이 이것을 플러그인으로 원한다면 : http://wordpress.org/extend/plugins/sharpen-resized-images/if u guys want this as plugin: http://wordpress.org/extend/plugins/sharpen-resized-images/
- 2
- 2012-04-03
- Ünsal Korkmaz
-
이 기능은 어디로 갑니까?where does this function go?
- 0
- 2019-03-18
- StevieD
-
@StevieD-제목에서 알 수 있듯이 템플릿의functions.php 안에 들어갑니다.하지만이 기능은 거의 8 년이 지났습니다.@StevieD - as the title suggests, it goes inside functions.php, in your template. I would be careful though, this function is almost 8 years old.
- 0
- 2019-07-25
- timofey.com
-
- 2010-09-09
기본 WordPress 메타 상자 제거
테스트 대상 : WordPress 3.0.1
이 코드를 사용하면 WordPress가 기본 게시물 추가/편집 및 페이지 추가/편집 화면에 기본적으로 추가하는 특정 메타 상자를 제거 할 수 있습니다.
// REMOVE META BOXES FROM DEFAULT POSTS SCREEN function remove_default_post_screen_metaboxes() { remove_meta_box( 'postcustom','post','normal' ); // Custom Fields Metabox remove_meta_box( 'postexcerpt','post','normal' ); // Excerpt Metabox remove_meta_box( 'commentstatusdiv','post','normal' ); // Comments Metabox remove_meta_box( 'trackbacksdiv','post','normal' ); // Talkback Metabox remove_meta_box( 'slugdiv','post','normal' ); // Slug Metabox remove_meta_box( 'authordiv','post','normal' ); // Author Metabox } add_action('admin_menu', 'remove_default_post_screen_metaboxes'); // REMOVE META BOXES FROM DEFAULT PAGES SCREEN function remove_default_page_screen_metaboxes() { remove_meta_box( 'postcustom','page','normal' ); // Custom Fields Metabox remove_meta_box( 'postexcerpt','page','normal' ); // Excerpt Metabox remove_meta_box( 'commentstatusdiv','page','normal' ); // Comments Metabox remove_meta_box( 'trackbacksdiv','page','normal' ); // Talkback Metabox remove_meta_box( 'slugdiv','page','normal' ); // Slug Metabox remove_meta_box( 'authordiv','page','normal' ); // Author Metabox } add_action('admin_menu', 'remove_default_page_screen_metaboxes');
Remove Default WordPress Meta Boxes
Tested on: WordPress 3.0.1
This code will allow you to remove specific Meta Boxes which WordPress adds by default to the default Add/Edit Post and Add/Edit Page screens.
// REMOVE META BOXES FROM DEFAULT POSTS SCREEN function remove_default_post_screen_metaboxes() { remove_meta_box( 'postcustom','post','normal' ); // Custom Fields Metabox remove_meta_box( 'postexcerpt','post','normal' ); // Excerpt Metabox remove_meta_box( 'commentstatusdiv','post','normal' ); // Comments Metabox remove_meta_box( 'trackbacksdiv','post','normal' ); // Talkback Metabox remove_meta_box( 'slugdiv','post','normal' ); // Slug Metabox remove_meta_box( 'authordiv','post','normal' ); // Author Metabox } add_action('admin_menu', 'remove_default_post_screen_metaboxes'); // REMOVE META BOXES FROM DEFAULT PAGES SCREEN function remove_default_page_screen_metaboxes() { remove_meta_box( 'postcustom','page','normal' ); // Custom Fields Metabox remove_meta_box( 'postexcerpt','page','normal' ); // Excerpt Metabox remove_meta_box( 'commentstatusdiv','page','normal' ); // Comments Metabox remove_meta_box( 'trackbacksdiv','page','normal' ); // Talkback Metabox remove_meta_box( 'slugdiv','page','normal' ); // Slug Metabox remove_meta_box( 'authordiv','page','normal' ); // Author Metabox } add_action('admin_menu', 'remove_default_page_screen_metaboxes');
-
이 http://wordpress.stackexchange.com/questions/34030/cant-change-permalink-url-after-hitting-ok-and-update/37779#37779에 따르면 slugdiv를 이런 식으로 숨기지 않고 사용합니다.대신 https://gist.github.com/1863830According to this http://wordpress.stackexchange.com/questions/34030/cant-change-permalink-url-after-hitting-ok-and-update/37779#37779 I wouldn't hide the slugdiv this way, but use this https://gist.github.com/1863830 instead
-
@CorvanNoorloosgithub 링크가 끊어졌습니다.@CorvanNoorloos Your github link is broken.
- 0
- 2017-02-26
- user7003859
-
- 2010-09-15
& quot; Wordpress & quot;& quot; WordPress & quot;필터
테스트 대상 : WordPress 3.0.1
& quot; Wordpress & quot;의 모든 인스턴스를 자동으로 변환하는 필터가 WordPress 버전 3.0에 추가되었습니다.(대문자 P 없음)-& quot; WordPress & quot;(대문자 P로) 게시물 내용,게시물 제목 및 댓글 텍스트에서.어떤 사람들은 이것을 방해한다고 생각하지만 때때로 WordPress를 잘못 인식하고 필터가 다소 짜증나는 것을 발견했습니다.
// Remove annoying P filter if(function_exists('capital_P_dangit')) { foreach ( array( 'the_content', 'the_title' ) as $filter ) remove_filter( $filter, 'capital_P_dangit', 11 ); remove_filter('comment_text', 'capital_P_dangit', 31 ); }
Remove "Wordpress" to "WordPress" filter
Tested on: WordPress 3.0.1
There was a filter added with WordPress version 3.0 that automatically converts all instances of "Wordpress" (no capital P) to "WordPress" (with a capital P) in post content, post titles, and comment text. Some people see this as intrusive, but I just have a need to mis-case WordPress from time to time and found the filter somewhat annoying.
// Remove annoying P filter if(function_exists('capital_P_dangit')) { foreach ( array( 'the_content', 'the_title' ) as $filter ) remove_filter( $filter, 'capital_P_dangit', 11 ); remove_filter('comment_text', 'capital_P_dangit', 31 ); }
-
아주 작은 발견.필요하지 않은 다른 코드를 제거하는 것 중 하나great little find. One of those things which just removes another piece of code that is not needed
- 0
- 2010-09-17
- NetConstructor.com
-
WordPress 3.0.1에서 [이 필터는 우선 순위 11로 추가됨] (http://core.trac.wordpress.org/changeset/15378/branches/3.0/wp-includes/default-filters.php)제거 할 세 번째 매개 변수로`11 '을 추가합니다.In WordPress 3.0.1, [this filter is added with priority 11](http://core.trac.wordpress.org/changeset/15378/branches/3.0/wp-includes/default-filters.php), so you need to add `11` as the third parameter to remove it.
- 5
- 2010-11-05
- Jan Fabry
-
- 2010-10-21
대시 보드 맞춤 설정
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets'); function my_custom_dashboard_widgets() { global $wp_meta_boxes;
이 대시 보드 위젯 제거 ...
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
'도움말 및 지원'이라는 사용자 정의 위젯 추가
wp_add_dashboard_widget('custom_help_widget', 'Help and Support', 'custom_dashboard_help'); }
맞춤 위젯의 콘텐츠입니다.
function custom_dashboard_help() { echo '<p>Lorum ipsum delor sit amet et nunc</p>'; }
Customize the Dashboard
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets'); function my_custom_dashboard_widgets() { global $wp_meta_boxes;
Remove these dashboard widgets...
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
Add a custom widget called 'Help and Support'
wp_add_dashboard_widget('custom_help_widget', 'Help and Support', 'custom_dashboard_help'); }
This is the content for your custom widget
function custom_dashboard_help() { echo '<p>Lorum ipsum delor sit amet et nunc</p>'; }
-
- 2010-11-16
사용자 정의 사용자 프로필 필드 추가
사용자 정의 사용자 프로필 필드를 추가하려면 아래 코드를functions.php 파일에 삽입하세요. 원하는대로 줄을 수정하거나 추가하세요.
다음 행을 제거하지 마십시오. return $ contactmethods; 그렇지 않으면 작동하지 않습니다.
// CUSTOM USER PROFILE FIELDS function my_custom_userfields( $contactmethods ) { // ADD CONTACT CUSTOM FIELDS $contactmethods['contact_phone_office'] = 'Office Phone'; $contactmethods['contact_phone_mobile'] = 'Mobile Phone'; $contactmethods['contact_office_fax'] = 'Office Fax'; // ADD ADDRESS CUSTOM FIELDS $contactmethods['address_line_1'] = 'Address Line 1'; $contactmethods['address_line_2'] = 'Address Line 2 (optional)'; $contactmethods['address_city'] = 'City'; $contactmethods['address_state'] = 'State'; $contactmethods['address_zipcode'] = 'Zipcode'; return $contactmethods; } add_filter('user_contactmethods','my_custom_userfields',10,1);
맞춤 입력란을 표시하려면 아래 나열된 두 가지 방법 중 하나를 사용할 수 있습니다.
옵션 1 :
the_author_meta('facebook', $current_author->ID)
옵션 2 :
<?php $current_author = get_userdata(get_query_var('author')); ?> <p><a href="<?php echo esc_url($current_author->contact_phone_office);?>" title="office_phone"> Office Phone</a></p>
Add Custom User Profile Fields
Place the code below into your functions.php file to add custom user profile fields. Edit or add lines as you see fit.
Remember not to remove the line: return $contactmethods; otherwise this won't work.
// CUSTOM USER PROFILE FIELDS function my_custom_userfields( $contactmethods ) { // ADD CONTACT CUSTOM FIELDS $contactmethods['contact_phone_office'] = 'Office Phone'; $contactmethods['contact_phone_mobile'] = 'Mobile Phone'; $contactmethods['contact_office_fax'] = 'Office Fax'; // ADD ADDRESS CUSTOM FIELDS $contactmethods['address_line_1'] = 'Address Line 1'; $contactmethods['address_line_2'] = 'Address Line 2 (optional)'; $contactmethods['address_city'] = 'City'; $contactmethods['address_state'] = 'State'; $contactmethods['address_zipcode'] = 'Zipcode'; return $contactmethods; } add_filter('user_contactmethods','my_custom_userfields',10,1);
To display custom fields you can use one of the two methods listed below.
Option 1:
the_author_meta('facebook', $current_author->ID)
Option 2:
<?php $current_author = get_userdata(get_query_var('author')); ?> <p><a href="<?php echo esc_url($current_author->contact_phone_office);?>" title="office_phone"> Office Phone</a></p>
-
- 2010-09-09
관리 메뉴 순서 맞춤 설정
테스트 대상 : WordPress 3.0.1
이 코드를 사용하면 관리 메뉴에서 요소의 순서를 재구성 할 수 있습니다. 관리 메뉴에서 기존 링크를 클릭하고/wp-admin/URL 앞에 모든 것을 복사하기 만하면됩니다. 아래 순서는 새 관리 메뉴의 순서를 나타냅니다.
// CUSTOMIZE ADMIN MENU ORDER function custom_menu_order($menu_ord) { if (!$menu_ord) return true; return array( 'index.php', // This represents the dashboard link 'edit.php?post_type=events', // This is a custom post type menu 'edit.php?post_type=news', 'edit.php?post_type=articles', 'edit.php?post_type=faqs', 'edit.php?post_type=mentors', 'edit.php?post_type=testimonials', 'edit.php?post_type=services', 'edit.php?post_type=page', // This is the default page menu 'edit.php', // This is the default POST admin menu ); } add_filter('custom_menu_order', 'custom_menu_order'); add_filter('menu_order', 'custom_menu_order');
Customize the order of the administration menu
Tested on: WordPress 3.0.1
This code will allow you to reorganize the order of elements in the administration menu. All that you need to do is click on an existing link in the administration menu and copy everything before the /wp-admin/ URL. The order below represents the order the new administration menu will have.
// CUSTOMIZE ADMIN MENU ORDER function custom_menu_order($menu_ord) { if (!$menu_ord) return true; return array( 'index.php', // This represents the dashboard link 'edit.php?post_type=events', // This is a custom post type menu 'edit.php?post_type=news', 'edit.php?post_type=articles', 'edit.php?post_type=faqs', 'edit.php?post_type=mentors', 'edit.php?post_type=testimonials', 'edit.php?post_type=services', 'edit.php?post_type=page', // This is the default page menu 'edit.php', // This is the default POST admin menu ); } add_filter('custom_menu_order', 'custom_menu_order'); add_filter('menu_order', 'custom_menu_order');
-
정말로`custom_menu_order`라는 핵심 필터가 있습니까?하나를 찾을 수 없습니다 ...Is there really a core filter named `custom_menu_order`? I couldn't find one...
- 0
- 2011-03-01
- kaiser
-
@kaiser는 여기 http://codex.wordpress.org/Plugin_API/Filter_Reference/custom_menu_order에 문서화되었습니다.@kaiser documented here http://codex.wordpress.org/Plugin_API/Filter_Reference/custom_menu_order
- 4
- 2012-08-18
- Manny Fleurmond
-
- 2010-09-12
발췌 길이 변경 기능
테스트 대상 : Wordpress 3.0.1
기본적으로 모든 발췌문은 55 단어로 제한됩니다.아래 코드를 사용하여이 기본 설정을 재정의 할 수 있습니다.
function new_excerpt_length($length) { return 100; } add_filter('excerpt_length', 'new_excerpt_length');
이 예에서는 발췌 길이를 100 단어로 변경하지만 동일한 방법을 사용하여 값을 변경할 수 있습니다.
Function to change the length of Exerpt
Tested on: Wordpress 3.0.1
By default all excerpts are capped at 55 words. Utilizing the code below you can override this default settings:
function new_excerpt_length($length) { return 100; } add_filter('excerpt_length', 'new_excerpt_length');
This example changes the excerpt length to 100 words, but you can use the same method to change it to any value.
-
@ user402 ...이 단어 또는 문자로 제한됩니까?둘 다 수행하는 방법을 게시 할 수 있습니까?@user402... does this cap by words or characters? Could you post how to do both?
- 0
- 2010-09-12
- NetConstructor.com
-
*@NetConstructor.com*이 함수 (및`excerpt_length` 후크) [단어 별 대문자] (http://codex.wordpress.org/Plugin_API/Filter_Reference/excerpt_length).*@NetConstructor.com* This function (and the `excerpt_length` hook) [cap by words](http://codex.wordpress.org/Plugin_API/Filter_Reference/excerpt_length).
- 3
- 2010-09-15
- EAMann
-
헤.그 필터를 코어에 추가했습니다.:)Heh. I got that filter added to core. :)
- 0
- 2011-03-08
- Dougal Campbell
-
- 2010-12-28
게시물/페이지 목록 관리에 미리보기 이미지 추가
이 기능을 기능에 추가하여 썸네일 미리보기가있는 새 열을 게시물 및 페이지 목록 관리/편집에 표시 할 수 있습니다.
/****** Add Thumbnails in Manage Posts/Pages List ******/ if ( !function_exists('AddThumbColumn') && function_exists('add_theme_support') ) { // for post and page add_theme_support('post-thumbnails', array( 'post', 'page' ) ); function AddThumbColumn($cols) { $cols['thumbnail'] = __('Thumbnail'); return $cols; } function AddThumbValue($column_name, $post_id) { $width = (int) 35; $height = (int) 35; if ( 'thumbnail' == $column_name ) { // thumbnail of WP 2.9 $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true ); // image from gallery $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') ); if ($thumbnail_id) $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true ); elseif ($attachments) { foreach ( $attachments as $attachment_id => $attachment ) { $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true ); } } if ( isset($thumb) && $thumb ) { echo $thumb; } else { echo __('None'); } } } // for posts add_filter( 'manage_posts_columns', 'AddThumbColumn' ); add_action( 'manage_posts_custom_column', 'AddThumbValue', 10, 2 ); // for pages add_filter( 'manage_pages_columns', 'AddThumbColumn' ); add_action( 'manage_pages_custom_column', 'AddThumbValue', 10, 2 ); }
Add Thumbnails in Manage Posts/Pages List
You can add this to your functions to display to the Manage/Edit Post and Pages List a new column with the thumbnail preview.
/****** Add Thumbnails in Manage Posts/Pages List ******/ if ( !function_exists('AddThumbColumn') && function_exists('add_theme_support') ) { // for post and page add_theme_support('post-thumbnails', array( 'post', 'page' ) ); function AddThumbColumn($cols) { $cols['thumbnail'] = __('Thumbnail'); return $cols; } function AddThumbValue($column_name, $post_id) { $width = (int) 35; $height = (int) 35; if ( 'thumbnail' == $column_name ) { // thumbnail of WP 2.9 $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true ); // image from gallery $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') ); if ($thumbnail_id) $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true ); elseif ($attachments) { foreach ( $attachments as $attachment_id => $attachment ) { $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true ); } } if ( isset($thumb) && $thumb ) { echo $thumb; } else { echo __('None'); } } } // for posts add_filter( 'manage_posts_columns', 'AddThumbColumn' ); add_action( 'manage_posts_custom_column', 'AddThumbValue', 10, 2 ); // for pages add_filter( 'manage_pages_columns', 'AddThumbColumn' ); add_action( 'manage_pages_custom_column', 'AddThumbValue', 10, 2 ); }
-
열을 맨 왼쪽으로 이동하는 방법은 무엇입니까?How to move the column to the far left?
- 0
- 2013-10-08
- Rich
-
- 2010-09-15
블로그에 대한 핑 제거
테스트 대상 : WordPress 3.0.1
// Remove pings to self function no_self_ping( &$links ) { $home = get_option( 'home' ); foreach ( $links as $l => $link ) if ( 0 === strpos( $link, $home ) ) unset($links[$l]); } add_action( 'pre_ping', 'no_self_ping' );
Remove pings to your own blog
Tested on: WordPress 3.0.1
// Remove pings to self function no_self_ping( &$links ) { $home = get_option( 'home' ); foreach ( $links as $l => $link ) if ( 0 === strpos( $link, $home ) ) unset($links[$l]); } add_action( 'pre_ping', 'no_self_ping' );
-
wordpress는 얼마나 자주 그리고 언제 자체적으로ping을합니까?how often and when does wordpress ping itself?
- 0
- 2010-09-17
- NetConstructor.com
-
실제로 그 문제가 자주 발생합니다.내 WP 블로그의 다른 게시물에 대한 내부 링크를 참조하면 내 자신으로부터 트랙백 또는 핑백 (어떤 것을 기억하지 못함)을받습니다.짜증나 네요.I actually have that issue quite often. If I reference an internal link to another post on my WP blog, I get a trackback or pingback (don't remember which) from myself. It's annoying.
- 0
- 2010-12-18
- Sahas Katta
-
여기도 마찬가지입니다.나는 뉴스/잡지 블로그를 가지고 있고 다른 기사에 자주 링크합니다.Same here. I have a news / magazine blog and link to other articles quite often.
- 0
- 2011-02-13
- Steven
-
- 2010-12-23
GZIP 출력 압축 사용
일반적으로이 작업을 자동으로 수행하도록 서버를 설정해야하지만 많은 공유 호스트가이를 수행하지 않습니다 (아마도 클라이언트 대역폭 사용량을 늘리기 위해).
if(extension_loaded("zlib") && (ini_get("output_handler") != "ob_gzhandler")) add_action('wp', create_function('', '@ob_end_clean();@ini_set("zlib.output_compression", 1);'));
Enable GZIP output compression
Normally the server should be set up to do this automatically, but a lot of shared hosts don’t do this (probably to increase client bandwidth usage).
if(extension_loaded("zlib") && (ini_get("output_handler") != "ob_gzhandler")) add_action('wp', create_function('', '@ob_end_clean();@ini_set("zlib.output_compression", 1);'));
-
- 2010-09-15
DB 쿼리,소요 시간 및 메모리 사용량 표시
테스트 대상 : WordPress 3.0.1
function performance( $visible = false ) { $stat = sprintf( '%d queries in %.3f seconds, using %.2fMB memory', get_num_queries(), timer_stop( 0, 3 ), memory_get_peak_usage() / 1024 / 1024 ); echo $visible ? $stat : "<!-- {$stat} -->" ; }
그런 다음 위 코드 아래에있는이 코드는 공개 웹 사이트의 바닥 글에 위 코드를 자동으로 삽입합니다 (테마가
wp_footer
를 호출하는지 확인).add_action( 'wp_footer', 'performance', 20 );
여러 번 호출 할 수 있습니다.
Display DB Queries, Time Spent and Memory Consumption
Tested on: WordPress 3.0.1
function performance( $visible = false ) { $stat = sprintf( '%d queries in %.3f seconds, using %.2fMB memory', get_num_queries(), timer_stop( 0, 3 ), memory_get_peak_usage() / 1024 / 1024 ); echo $visible ? $stat : "<!-- {$stat} -->" ; }
Then this code below the code above which will automatically insert the code above into the footer of your public website (make sure your theme is calling
wp_footer
):add_action( 'wp_footer', 'performance', 20 );
It can be called multiple times.
-
PHP <5.2의 경우`memory_get_usage ()`사용for php < 5.2 use `memory_get_usage()`
- 0
- 2011-01-23
- onetrickpony
-
- 2010-11-14
WordPress 기본 위젯 등록 취소
테스트 대상 : WordPress 3.0.1
// Unregister all default WordPress Widgets function unregister_default_wp_widgets() { unregister_widget('WP_Widget_Pages'); unregister_widget('WP_Widget_Calendar'); unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Links'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Search'); unregister_widget('WP_Widget_Text'); unregister_widget('WP_Widget_Categories'); unregister_widget('WP_Widget_Recent_Posts'); unregister_widget('WP_Widget_Recent_Comments'); unregister_widget('WP_Widget_RSS'); unregister_widget('WP_Widget_Tag_Cloud'); } add_action('widgets_init', 'unregister_default_wp_widgets', 1);
Unregister WordPress Default Widgets
Tested on: WordPress 3.0.1
// Unregister all default WordPress Widgets function unregister_default_wp_widgets() { unregister_widget('WP_Widget_Pages'); unregister_widget('WP_Widget_Calendar'); unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Links'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Search'); unregister_widget('WP_Widget_Text'); unregister_widget('WP_Widget_Categories'); unregister_widget('WP_Widget_Recent_Posts'); unregister_widget('WP_Widget_Recent_Comments'); unregister_widget('WP_Widget_RSS'); unregister_widget('WP_Widget_Tag_Cloud'); } add_action('widgets_init', 'unregister_default_wp_widgets', 1);
-
버전 3.1.4에서 사용했습니다.그러나 위젯은 여전히 존재합니다.아무도 아이디어가 있습니까?I have used it on Version 3.1.4 . But the widgets are still there. Does any one have idea?
- 0
- 2011-07-01
- user391
-
여전히 WP 4.5에서 작동합니다. :)Still works on WP 4.5 :)
- 0
- 2016-04-19
- Tim Malone
-
- 2010-09-10
게시물 콘텐츠에서 첫 번째 이미지 자동 추출
테스트 대상 : WordPress 3.0.1
이 코드는 게시물과 관련된 첫 번째 이미지를 자동으로 추출하고getImage 함수를 호출하여 표시/사용할 수 있도록합니다.
// AUTOMATICALLY EXTRACT THE FIRST IMAGE FROM THE POST function getImage($num) { global $more; $more = 1; $link = get_permalink(); $content = get_the_content(); $count = substr_count($content, '<img'); $start = 0; for($i=1;$i<=$count;$i++) { $imgBeg = strpos($content, '<img', $start); $post = substr($content, $imgBeg); $imgEnd = strpos($post, '>'); $postOutput = substr($post, 0, $imgEnd+1); $postOutput = preg_replace('/width="([0-9]*)" height="([0-9]*)"/', '',$postOutput);; $image[$i] = $postOutput; $start=$imgEnd+1; } if(stristr($image[$num],'<img')) { echo '<a href="'.$link.'">'.$image[$num]."</a>"; } $more = 0; }
Auto Extract the First Image from the Post Content
Tested on: WordPress 3.0.1
This code will automatically extract the first image associated with a post and allow you to display/use it by calling the getImage function.
// AUTOMATICALLY EXTRACT THE FIRST IMAGE FROM THE POST function getImage($num) { global $more; $more = 1; $link = get_permalink(); $content = get_the_content(); $count = substr_count($content, '<img'); $start = 0; for($i=1;$i<=$count;$i++) { $imgBeg = strpos($content, '<img', $start); $post = substr($content, $imgBeg); $imgEnd = strpos($post, '>'); $postOutput = substr($post, 0, $imgEnd+1); $postOutput = preg_replace('/width="([0-9]*)" height="([0-9]*)"/', '',$postOutput);; $image[$i] = $postOutput; $start=$imgEnd+1; } if(stristr($image[$num],'<img')) { echo '<a href="'.$link.'">'.$image[$num]."</a>"; } $more = 0; }
-
좋지만get_the_image도 이것으로 아주 잘 작동합니다.http://wordpress.org/extend/plugins/get-the-image/Nice, but get_the_image does a very good job with this as well. http://wordpress.org/extend/plugins/get-the-image/
- 6
- 2010-09-15
- artlung
-
정확하지만 이것은 다르게 작동하며get_the_image가 고려하지 않는 다양한 문제를 수정합니다.correct but this one works differently and fixes various issues which get_the_image does not take into account
- 0
- 2010-09-30
- NetConstructor.com
-
get_the_image 스크립트와 다른 점은 무엇입니까?What does it do differently than the get_the_image script?
- 3
- 2010-12-05
- matt
-
@matt-워드 프레스에는 이미지를 게시물에 추가 할 수있는 여러 가지 방법이 있으며get_the_image 스크립트가 그 중 하나를 보는 것 같습니다.이것은 추천 이미지가 있는지 확인하고 가능한 경우 먼저 사용하고,다음으로 게시물 내용에 추가 된 첫 번째 이미지를 확인하고 찾을 수없는 경우 미디어 갤러리에서 가장 높은 정렬을 가진 이미지를 확인합니다.주문 (적어도 그것이 내가 주문을 기억하는 방식입니다).@matt -- In wordpress there are different ways that images can be added to posts and i think the get_the_image script just looks at one of those. This checks to see if there is a featured image and uses that one first if available, next I think it checks for the first image added to the post content and if that is not found it checks the media gallery for the image with the highest sort order (at least thats how I remember the order going).
- 1
- 2011-02-22
- NetConstructor.com
-
나는 http://wordpress.org/extend/plugins/auto-post-thumbnail/포스트의 첫 번째 이미지 또는 포스트 썸네일이 설정되지 않은 경우에만 사용자 정의 포스트 유형에서 포스트 썸네일 (추천 썸네일)을 자동으로 생성하는 것이 좋습니다.i suggest http://wordpress.org/extend/plugins/auto-post-thumbnail/ Automatically generate the Post Thumbnail (Featured Thumbnail) from the first image in post or any custom post type only if Post Thumbnail is not set
- 0
- 2011-05-08
- Ünsal Korkmaz
-
미리보기 이미지를 확인하지 않습니다. 확실합니까?i dont any check for thumbnail - are you sure?
- 0
- 2012-02-21
- Sagive SEO
-
- 2010-11-14
비활성 플러그인에 대해서만 플러그인 업데이트 알림 제거
function update_active_plugins($value = '') { /* The $value array passed in contains the list of plugins with time marks when the last time the groups was checked for version match The $value->reponse node contains an array of the items that are out of date. This response node is use by the 'Plugins' menu for example to indicate there are updates. Also on the actual plugins listing to provide the yellow box below a given plugin to indicate action is needed by the user. */ if ((isset($value->response)) && (count($value->response))) { // Get the list cut current active plugins $active_plugins = get_option('active_plugins'); if ($active_plugins) { // Here we start to compare the $value->response // items checking each against the active plugins list. foreach($value->response as $plugin_idx => $plugin_item) { // If the response item is not an active plugin then remove it. // This will prevent WordPress from indicating the plugin needs update actions. if (!in_array($plugin_idx, $active_plugins)) unset($value->response[$plugin_idx]); } } else { // If no active plugins then ignore the inactive out of date ones. foreach($value->response as $plugin_idx => $plugin_item) { unset($value->response); } } } return $value; } add_filter('transient_update_plugins', 'update_active_plugins'); // Hook for 2.8.+ //add_filter( 'option_update_plugins', 'update_active_plugins'); // Hook for 2.7.x
Remove Plugin Update Notice ONLY for INACTIVE plugins
function update_active_plugins($value = '') { /* The $value array passed in contains the list of plugins with time marks when the last time the groups was checked for version match The $value->reponse node contains an array of the items that are out of date. This response node is use by the 'Plugins' menu for example to indicate there are updates. Also on the actual plugins listing to provide the yellow box below a given plugin to indicate action is needed by the user. */ if ((isset($value->response)) && (count($value->response))) { // Get the list cut current active plugins $active_plugins = get_option('active_plugins'); if ($active_plugins) { // Here we start to compare the $value->response // items checking each against the active plugins list. foreach($value->response as $plugin_idx => $plugin_item) { // If the response item is not an active plugin then remove it. // This will prevent WordPress from indicating the plugin needs update actions. if (!in_array($plugin_idx, $active_plugins)) unset($value->response[$plugin_idx]); } } else { // If no active plugins then ignore the inactive out of date ones. foreach($value->response as $plugin_idx => $plugin_item) { unset($value->response); } } } return $value; } add_filter('transient_update_plugins', 'update_active_plugins'); // Hook for 2.8.+ //add_filter( 'option_update_plugins', 'update_active_plugins'); // Hook for 2.7.x
-
이것은 반드시 좋은 생각은 아닙니다. 비활성 플러그인은 여전히 파일 시스템에 존재하며 안전하지 않은 플러그인은 여전히 사이트를 해킹하는 데 사용될 수 있습니다.플러그인은 항상 최신 상태로 유지되어야합니다.This is not necessarily a good idea - an inactive plugin is still present in the filesystem, and an insecure one can still be utilised to hack the site. Plugins should always be kept up-to-date.
- 1
- 2016-04-11
- Tim Malone
-
- 2010-11-09
<head>
태그 내에서 불필요한 정보 및 HTML 제거// remove unnecessary header info add_action( 'init', 'remove_header_info' ); function remove_header_info() { remove_action( 'wp_head', 'rsd_link' ); remove_action( 'wp_head', 'wlwmanifest_link' ); remove_action( 'wp_head', 'wp_generator' ); remove_action( 'wp_head', 'start_post_rel_link' ); remove_action( 'wp_head', 'index_rel_link' ); remove_action( 'wp_head', 'adjacent_posts_rel_link' ); // for WordPress < 3.0 remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' ); // for WordPress >= 3.0 } // remove extra CSS that 'Recent Comments' widget injects add_action( 'widgets_init', 'remove_recent_comments_style' ); function remove_recent_comments_style() { global $wp_widget_factory; remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) ); }
Remove superfluous info and HTML within the
<head>
tag// remove unnecessary header info add_action( 'init', 'remove_header_info' ); function remove_header_info() { remove_action( 'wp_head', 'rsd_link' ); remove_action( 'wp_head', 'wlwmanifest_link' ); remove_action( 'wp_head', 'wp_generator' ); remove_action( 'wp_head', 'start_post_rel_link' ); remove_action( 'wp_head', 'index_rel_link' ); remove_action( 'wp_head', 'adjacent_posts_rel_link' ); // for WordPress < 3.0 remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' ); // for WordPress >= 3.0 } // remove extra CSS that 'Recent Comments' widget injects add_action( 'widgets_init', 'remove_recent_comments_style' ); function remove_recent_comments_style() { global $wp_widget_factory; remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) ); }
-
- 2010-11-13
실제 사이트에서 사용하기 위해 오류 디버깅 및 로깅 활성화
이것은 일반적으로 기본적으로 비활성화되어있는 WP_DEBUG 상수를 사용하기 위해 작성한 코드입니다. 음,저는 WP_DEBUG를 활성화하여 부정적인 부작용없이 라이브 사이트에서 사용할 수있을뿐만 아니라 다른 디버깅 상수를 사용하여 오류를 강제 표시하고 로그 파일을 만드는 방법을 만들었습니다./wp-content 디렉토리에있는 오류 및주의 사항
이 코드를 wp-config.php 파일에 드롭 한 다음 (케이스에서 백업을 저장 한 후) 사이트의 URL 끝에? debug=1,2 또는 3 매개 변수를 전달할 수 있습니다.
? debug=1=모든 오류/알림 표시 ? debug=2=강제로 표시 ? debug=3=/wp-content dir에있는 모든 오류의 debug.log 파일을 생성합니다.
<사전> <코드> /** * Jared Williams 작성-http://new2wp.com * @ wp-config.php는 WP_DEBUG 상수를이 코드로 대체합니다. * 라이브 사이트에서 사용하기 위해 WP 디버깅 활성화 * http://core.trac.wordpress.org/browser/trunk/wp-includes/load.php#L230 * 사이트의 모든 URL 끝에 '? debug=#'매개 변수를 전달합니다. * * http://example.com/?debug=1,/? debug=2,/? debug=3 */ if (isset ($ _ GET [ 'debug']) & amp; & amp; $ _GET [ 'debug']=='1') { //개발 중 알림보고 활성화-E_ALL define ( 'WP_DEBUG',참); }elseif (isset ($ _ GET [ 'debug']) & amp; & amp; $ _GET [ 'debug']=='2') { //WP_DEBUG_DISPLAY가 작동하려면true 여야합니다. define ( 'WP_DEBUG',참); //오류 표시 강제 define ( 'WP_DEBUG_DISPLAY',true); }elseif (isset ($ _ GET [ 'debug']) & amp; & amp; $ _GET [ 'debug']=='3') { //WP_DEBUG_LOG가 작동하려면true 여야합니다. define ( 'WP_DEBUG',참); //wp-content 디렉토리의 debug.log에 오류를 기록합니다. define ( 'WP_DEBUG_LOG',참); }관심이 있으시면 제가 Comluv에 쓴 게스트 게시물에 대해 더 자세히 설명하겠습니다. http://comluv.com/dev/enable -라이브 사이트 사용을위한 디버깅 및 로깅
저는 여전히 이것을 암호로 보호하거나if (current_user_can ( 'manage_themes') 및is_logged_in ()에서 작동하도록 만드는 방법을 연구하고 있습니다.
하지만 이것이 훨씬 더 까다로워지는 부분입니다.
Enable Error Debugging And Logging To Use On Live Sites
This is a piece of code I wrote to make use of the WP_DEBUG constants that are normally disabled by default. Well, I created a way to not only enable WP_DEBUG so you can use it on a live site with no negative side-effects, but I also made use of the other debugging constants for forcing errors to be displayed, and for creating a log file of the errors and Notices in the /wp-content directory.
Drop this code in your wp-config.php file (AFTER YOU SAVE A BACKUP JUST IN CASE) and then you can pass the ?debug=1, 2, or 3 parameters at the end of any URL on your site.
?debug=1 = shows all errors/notices ?debug=2 = forces them to be displayed ?debug=3 = creates a debug.log file of all errors in /wp-content dir.
/** * Written by Jared Williams - http://new2wp.com * @wp-config.php replace WP_DEBUG constant with this code * Enable WP debugging for usage on a live site * http://core.trac.wordpress.org/browser/trunk/wp-includes/load.php#L230 * Pass the '?debug=#' parameter at the end of any URL on site * * http://example.com/?debug=1, /?debug=2, /?debug=3 */ if ( isset($_GET['debug']) && $_GET['debug'] == '1' ) { // Enable the reporting of notices during development - E_ALL define('WP_DEBUG', true); } elseif ( isset($_GET['debug']) && $_GET['debug'] == '2' ) { // Must be true for WP_DEBUG_DISPLAY to work define('WP_DEBUG', true); // Force the display of errors define('WP_DEBUG_DISPLAY', true); } elseif ( isset($_GET['debug']) && $_GET['debug'] == '3' ) { // Must be true for WP_DEBUG_LOG to work define('WP_DEBUG', true); // Log errors to debug.log in the wp-content directory define('WP_DEBUG_LOG', true); }
I go into more detail on the guest post I wrote for Comluv if you're interested, here: http://comluv.com/dev/enable-debugging-and-logging-for-live-site-usage/
I'm still working on a way to make this either password protected, or preferrably somehow make it work on if (current_user_can('manage_themes') and is_logged_in().
But that's where it gets alot more tricky.
-
라이브,스테이징 및 개발 데이터베이스 연결 세부 사항 설정과 유사한 것을 사용합니다.We use something similar to setup live, staging and dev database connection details.
- 0
- 2011-03-07
- Tom
-
- 2010-09-10
공개 페이지에 동적 제목 자동 추가
테스트 대상 : WordPress 3.0.1
아래 코드를 사용하면 공개적으로보고있는 페이지/게시물을 기반으로 동적 페이지 제목이 자동으로 생성됩니다.
/* Dynamic Titles **/ // This sets your <title> depending on what page you're on, for better formatting and for SEO // You need to set the variable $longd to some custom text at the beginning of the function function dynamictitles() { $longd = __('Enter your longdescription here.', 'texdomainstring'); if ( is_single() ) { wp_title(''); echo ' | '.get_bloginfo('name'); } else if ( is_page() || is_paged() ) { bloginfo('name'); wp_title('|'); } else if ( is_author() ) { bloginfo('name'); wp_title(' | '.__('Author', 'texdomainstring')); } else if ( is_category() ) { bloginfo('name'); wp_title(' | '.__('Archive for', 'texdomainstring')); } else if ( is_tag() ) { echo get_bloginfo('name').' | '.__('Tag archive for', 'texdomainstring'); wp_title(''); } else if ( is_archive() ) { echo get_bloginfo('name').' | '.__('Archive for', 'texdomainstring'); wp_title(''); } else if ( is_search() ) { echo get_bloginfo('name').' | '.__('Search Results', 'texdomainstring'); } else if ( is_404() ) { echo get_bloginfo('name').' | '.__('404 Error (Page Not Found)', 'texdomainstring'); } else if ( is_home() ) { echo get_bloginfo('name').' | '.get_bloginfo('description'); } else { echo get_bloginfo('name').' | '.($blog_longd); } }
Automatically Add Dynamic Titles to Public Pages
Tested on: WordPress 3.0.1
Utilizing the code below will automatically create dynamic page titles based upon the pages/posts being viewed publicly.
/* Dynamic Titles **/ // This sets your <title> depending on what page you're on, for better formatting and for SEO // You need to set the variable $longd to some custom text at the beginning of the function function dynamictitles() { $longd = __('Enter your longdescription here.', 'texdomainstring'); if ( is_single() ) { wp_title(''); echo ' | '.get_bloginfo('name'); } else if ( is_page() || is_paged() ) { bloginfo('name'); wp_title('|'); } else if ( is_author() ) { bloginfo('name'); wp_title(' | '.__('Author', 'texdomainstring')); } else if ( is_category() ) { bloginfo('name'); wp_title(' | '.__('Archive for', 'texdomainstring')); } else if ( is_tag() ) { echo get_bloginfo('name').' | '.__('Tag archive for', 'texdomainstring'); wp_title(''); } else if ( is_archive() ) { echo get_bloginfo('name').' | '.__('Archive for', 'texdomainstring'); wp_title(''); } else if ( is_search() ) { echo get_bloginfo('name').' | '.__('Search Results', 'texdomainstring'); } else if ( is_404() ) { echo get_bloginfo('name').' | '.__('404 Error (Page Not Found)', 'texdomainstring'); } else if ( is_home() ) { echo get_bloginfo('name').' | '.get_bloginfo('description'); } else { echo get_bloginfo('name').' | '.($blog_longd); } }
-
- 2010-11-09
새로운 역할 및 기능-한 번만 실행!
저는 이것을 편리하게 유지합니다. 이것이 플러그인없이 올바른 방법입니다. 옵션 데이터베이스에서 단일 필드 (prefix_user_roles)를 설정하며이를 설정하기 위해 플러그인이 필요하지 않습니다. 사용 가능한 기능 목록과 해당 기능에 대한 설명은 Codex 페이지를 참조하십시오. 귀하 이러한 블록 중 하나의 주석을 제거하고 페이지를로드 한 다음 다시 주석을 달면됩니다. 여기에서 필요한 기능을 가진 역할을 만듭니다.
/* 기능 */ //새로운 역할을 추가하려면 짧은 이름으로 'international'을 사용하고 //사용자 목록 및 수정 페이지에 표시된 이름으로 'International Blogger': /* add_role ( 'international','International Blogger',array ( '읽기'=>true,//True는 해당 기능을 허용하고 False는 특별히이를 제거합니다. 'edit_posts'=> 진실, 'delete_posts'=> 진실, 'edit_published_posts'=> 진실, 'publish_posts'=> 진실, '편집 _ 파일'=> 진실, '가져 오기'=> 진실, 'upload_files'=>true//배열의 마지막에는 쉼표가 필요하지 않습니다! )); */ //하나를 완전히 제거하거나 기본값 중 하나를 제거하려면 : /* remove_role ( '국제'); */
때로는 기존 역할을 제거하고 다시 추가하는 대신 기존 역할에서 추가/제거하는 것이 편리합니다. 다시 주석 처리를 해제하고 페이지를 새로 고침 한 다음 다시 주석을 달면됩니다. 이렇게하면 옵션 테이블에 역할/기능이 올바르게 저장됩니다. (이렇게하면 개발자가이를 제어하고 동일한 작업을 수행하는 부피가 큰 플러그인의 오버 헤드를 제거 할 수 있습니다.) 여기에서는 게시 된 게시물 (기본값)을 삭제하도록 작성자 역할을 변경하지만 편집 기능은 허용합니다. 게시 된 게시물 (기본적으로이 역할에는 사용할 수 없음)-* add_cap * 또는 * remove_cap * 사용.
<사전> <코드> /* $edit_role=get_role ( '작성자'); $edit_role- > add_cap ( 'edit_published_posts'); $edit_role- > remove_cap ( 'delete_published_posts'); */이러한 방식으로 수정하는 사이트를 위해 Codex 페이지의 그리드가있는 스프레드 시트를 보관합니다. 따라서functions.php 파일에 주석 처리 된 코드를 남겨두면 어떻게 설정되었는지 기억할 수 있습니다. 이 예제를 주석 처리하지 마십시오. 그렇지 않으면 페이지가로드 될 때마다 데이터베이스에 기록됩니다!
New Roles and Capabilities - Only run once!
I keep these handy, this is the right way to do them without a plugin. They set a single field (prefix_user_roles) in the options database, and you don't need a plugin to set them. Refer to the Codex page for a list of what capabilities are available and descriptions for what they do. You only need to uncomment one of these blocks, load any page and then comment them again! Here I'm creating a role that's got the capabilities I need:
/* Capabilities */ // To add the new role, using 'international' as the short name and // 'International Blogger' as the displayed name in the User list and edit page: /* add_role('international', 'International Blogger', array( 'read' => true, // True allows that capability, False specifically removes it. 'edit_posts' => true, 'delete_posts' => true, 'edit_published_posts' => true, 'publish_posts' => true, 'edit_files' => true, 'import' => true, 'upload_files' => true //last in array needs no comma! )); */ // To remove one outright or remove one of the defaults: /* remove_role('international'); */
It's sometimes handy to add/remove from an existing role rather than removing and re-adding one. Again, you only need to uncomment it, reload a page and then comment it again. This will store the role/capability properly in the options table. (This allows you, the developer to control them and removes the overhead of the bulky plugins that do the same thing.) Here I'm changing the author role to delete their published posts (the default), but allowing them the capability to edit their published posts (which isn't possible for this role by default)-- using *add_cap* or *remove_cap*.
/* $edit_role = get_role('author'); $edit_role->add_cap('edit_published_posts'); $edit_role->remove_cap('delete_published_posts'); */
I keep a spreadsheet with the grid from the Codex page for sites that modify this way, so I can remember how things are set, though leaving the commented out code in your functions.php file will work to. Don't leave these examples uncommented, or it will write to the database with each page load!
-
위에서 언급 한 함수는 옵션 데이터베이스의 필드에 씁니다.주석을 달고 주석을 제거하는 것이 가장 좋은 방법입니다.사용자 역할에 대한 플러그인이 있지만 위에서 언급 한 기능을 사용하면 이러한 기능을 실행 상태로 둘 수 없으며 두 번 이상 설정하거나 특정 사용자가 무언가에 액세스하고 있는지 여부에 따라 설정할 필요가 없습니다.원하는 경우 해당 사용자를 특정하고 고유 한 역할로 설정하십시오.그리고 코덱스를 참고하세요. 제가 위에서 쓴 모든 것은 플러그인없이한다면 100 % 정확합니다. 거의 모든 경우에 사용자 역할을 한 번만 설정하면됩니다.The functions I mention above write to a field in the options database. Commenting and uncommenting them is the way to go. There are plugins for user roles, but if you use the functions mention above, you cannot leave these functions running, and you DO NOT need to set them more than once, or set them based on if a specific user is accessing something. If you want that, set that user up with a specific, unique role. And refer to the codex, everything I write above is 100% correct if you do it without a plugin. For nearly every case, you only need to set the user roles once.
- 0
- 2011-02-02
- tomcat23
-
@tomcat23 : 설명하기 위해 역할이 아직 존재하지 않는 경우에만 역할을 추가하는 함수로 래핑했습니다.또 다른 참고 사항 : 일부 기본 역할에서 한도를 검색 한 다음 기본 역할에서 기능을 추가/제거하여 역할 계층의 어딘가에 역할을 배치하는 것이 더 쉬울 것 같습니다.캡이ex 사이 어딘가에 배치되면 더 명확하고 기억하기 쉽습니다.관리자 및 편집자.-내가 당신의 대답을 편집 한 것에 신경 쓰지 않기를 바랍니다.당신이 할 경우,pls는 그것을 다시 역할합니다.:)@tomcat23: To illustrate, i wrapped it up in a function to only add the role, when it doesn't already exists. Another note: I guess it would be easier to place the role somewhere in the role hierarchy, with retrieving the caps from some built in role and then add/remove the capabilities from the built in role. Would make it more clear and easier to remember if it's caps are placed somewhere between ex. admin and editor. - I hope you don't mind that i edited your answer. If you do, pls role it back. :)
- 0
- 2011-03-01
- kaiser
-
나는 그것을 떠날 때 내 대답을 옹호합니다.귀하의 기능은 요점을 놓치고 내 텍스트와 동일한 답변을 제공하지 않습니다.나는 또한 당신이 내 코드와 대답을 변경하는 것이 무례합니다.I stand by my answer as I left it. Your function misses the point and doesn't provide the same answer as my text. I also it's quite rude of you do change my code and answer.
- 0
- 2011-03-11
- tomcat23
-
그뿐만 아니라 함수가 내 코드와 동일한 작업을 수행하지 않습니다.당신의 함수는 단지 하나의 체크를 더 남깁니다.get_role ( 'international',그것은 필요하지 않습니다! 저는이 코드를php4를 사용하는 서버를 가지고있는 클라이언트를 이동시키기 위해 사용했기 때문에 그들이 가지고있는 역할 범위 플러그인을 사용할 수 없었습니다.(그리고 설치를 위해php5가 필요한 유일한 플러그인이었습니다.) 개발자로서 저는 그들이 필요한 유일한 이유가 몇 가지 역할을 설정하고 일부 기능을 변경하는 것임을 알았습니다.코드,** 여기에 내 원래 대답 **은 방법입니다!Not only that, but your function doesn't do the same thing as my code. Your function leaves just one more check in place, get_role('international', that isn't needed! I used this code for moving a client who had a server that was using php4 and therefore couldn't use the role scoper plugin they had been using, which was php5 only. (And was the only plugin that needed php5 for their install.) As a developer, I saw that the only reason they needed it was to set up a couple of roles and change some capabilities. And this code, **my original answer here**, is how to do that!
- 0
- 2011-03-12
- tomcat23
-
이것을 함수로 래핑 할 필요도없고 감쌀 필요도 없습니다.역할과 기능을 올바르게 설정하기 위해 필요합니다.당신이 그들과 함께 놀고 싶다면,그것을위한 훌륭한 (비록 부풀려진) 플러그인이 있습니다. 워드 프레스의 역할과 기능을 이해하고 그냥 훑어 보지 않고 자신 만의 플러그인을 작성하지 않는 경우,이것이 올바른 방법입니다.내 코드를 편집하지 마십시오.롤백했습니다.내가 당신이 한 일에 동의하지 않지만 당신의 함수 래핑은 누구나 볼 수 있도록 역사에 있습니다.You do not need to, nor should you, wrap this in a function. You just need it to properly set the roles and capabilities. If you want to play around with them, there's some great (though bloated) plugins for that. If you understand the roles and capabilities in wordpress and aren't just poking around with it, and aren't writing your own plugin, then this is how to do it right. Please don't edit my code. I have rolled it back. Your function wrapping is in the history for anyone to see, though I disagree with what you have done.
- 0
- 2011-03-12
- tomcat23
-
더 명확히하기 위해 이것을 함수로 감싸거나 관리자 검사를 수행 할 필요가 ** 없습니다 **.** add_role (),remove_role (),add_cap () 및 remove_cap (),원래 답변에서 볼 수 있듯이 반복적으로 실행할 필요가 없습니다. 옵션 테이블에 필요하지 않은 필드를 설정하기 만하면됩니다.반복해서 작성해야합니다-이것이 함수 래퍼가 잘못된 이유입니다. ** 나는 당신이 after_setup_theme에 액션을 추가하고 있다는 것을 알고 있지만,그 후크로 역할을 설정하는 것은 제 대답이 아닙니다.(일반적으로 역할은 테마와 함께 패키지로 제공 될 필요가 없습니다.)To clarify further, you **do not need** to wrap this in a function or do admin checks. **add_role(), remove_role(), add_cap() and remove_cap(), as I show in my original answer do not need to be executed over and over -- they just set a field in the options table that does not need to be written to over and over again -- which is why your function wrapper is wrong.** I know, you are adding an action to after_setup_theme, but setting a role with that hook is not what my answer was about. (And generally roles don't need to come packaged with themes.)
- 0
- 2011-03-12
- tomcat23
-
Puh ... 내가 쓴대로 : "내가 답변을 편집 한 것에 신경 쓰지 않기를 바랍니다. 그렇게한다면pls 역할을 되돌립니다. :)".당신은 그것을 되돌리고 이유를 설명하고 무엇을 추측하십시오. 괜찮습니다.그러니 진정해.그러나 동일한 양의 설명을 제공하기 위해 항상 기능에 항목을 래핑하고 내 테마의 테스트 파일 폴더에 추가합니다.이렇게하면 예를 들어 쉽게 테스트 할 수 있습니다.WA는 대답하고 필요한 것이 있으면 신속하게 추가하므로 함수로 래핑하는 것이 좋습니다.더 나아가 비활성화 (add_action 호출 만)하고 여러 줄로 된//주석 대신/**/로 문서 주석을 허용하는 것이 더 쉽습니다.내 "왜"에 관한 것입니다.Puh... As i wrote: "I hope you don't mind that i edited your answer. If you do, pls role it back. :)". You roled it back, explained your reason and guess what: It's ok. So calm down. But to offer you the same amount of explanation: I always wrap stuff in functions and add it to my test files folder of my theme. This way i can easily test stuff for ex. WA answers and add them quickly if i need anything, so wrapping it in a function is ok. Further more it's easier to disable (only the add_action call) and allow doc-comments with /**/ instead of multiline // comments. That much about my "why".
- 0
- 2011-03-12
- kaiser
-
@tomcat23-우리는 학문적으로 그렇게하는 것을 제외하고는 서로 도전하는 커뮤니티가 아니라 서로를 지원하는 커뮤니티입니다.@kaiser의 응답에서 알 수 있듯이 그는 단지 도우려고 노력하고있었습니다.@tomcat23 - Note that we are a community that is supportive of each other, not one that challenges each other except to do so academically. As you see from @kaiser's response, he was just trying to help.
- 0
- 2011-03-12
- MikeSchinkel
-
@MikeSchinkel 저는 2 월 1 일에 @kaiser가 2 개의 댓글을 남겼던 것을 기억합니다.(당신은 중재자입니다. 그가 그렇게했는지 알 수 있습니까? 그가 제 사용법에 대해 2 개의 의견이 있다고 생각하는 것이 틀린 것 같지 않습니다. 단지 그와 잘 어울리지 않는 것 같습니다.) 제 코드 나 설명에 도움이 필요하다고 생각하지 않았습니다.2 월 1 일에 그에게 그렇게 말했습니다.얼마 후 돌아와서 그가 내 코드를 변경했다는 것을 알게되었습니다.이 사이트의 "위키"측면에 대한 첫 노출입니다. 내 의견으로는 내 텍스트와 댓글이 코드 자체에 대해 논의하는 동안 정당하게 짜증이났습니다.달랐다.@MikeSchinkel I recall there being two comments by @kaiser on Feb 1, which is why I responded then how I did. (You are moderator, can you see if he did? Because I don't think I'm wrong in thinking he had 2 comments about my usage just not sitting well with him.) I did not feel that my code or explanation needed help and told him so on Feb 1st. I come back some time later and find that he's changed my code -- my first exposure to this site's "wiki" aspect -- and I was, in my opinion, justifiably annoyed that while my text and comments discuss one thing, the code itself was different.
- 0
- 2011-03-13
- tomcat23
-
내 대답은 원래 질문의 정신에 있습니다.이것은 _my_ 유용한 코드입니다. 이것은 저에게 잘 작동하는 코드이며 함수에 래핑 된 코드를 사용하지 않습니다.@kaiser가 코드를 함수로 감싸고 후크에 연결하여이 질문에 답하고 싶었다면 여전히 자유롭게 할 수 있습니다. 다시,@kaiser 당신이 내 코드를 변경했지만 내 텍스트가 아닌 다른 사람들에게 해를 끼쳤습니다. 그것을보고 코드에 대한 내 토론이 의미가 없음을 발견했습니다.그렇기 때문에 당신이 한 일을하는 것이 무례하다고 느끼고 어제 나처럼 가혹하게 응답 한 이유입니다.My answer is in the spirit of the original question. This is _my_ useful code, this is what works well for me and I don't use it wrapped in a function. If @kaiser had wanted to answer this question with the code wrapped in a function and attached to a hook, he's still free to do so. Again, @kaiser what you did in changing my code but not my text was detrimental to other people who would come here, see it and find that my discussion of the code made no sense. That is why I feel it is rude of you to do what you did and why I responded yesterday as harshly as I did.
- 0
- 2011-03-13
- tomcat23
-
@tomcat23-이 시점에서 다리 아래의 물.내가 말하고자하는 것은,모든 사람이 앞으로 나아갈 수 있도록 평화를 유지하는 것뿐입니다.:)@tomcat23 - Water under the bridge at this point. All I'm saying is, I'm not interested in placing blame, just in having peace for everyone moving forward. :)
- 1
- 2011-03-13
- MikeSchinkel
-
@MikeSchinkel 네,맞아요. @kaiser 내가 당신을 모욕 한 경우 사과드립니다.@MikeSchinkel Yes, you are right. @kaiser My apologies if I've caused you insult.
- 2
- 2011-03-13
- tomcat23
-
@MikeSchinkel : 평화를 되찾아 주셔서 감사합니다. @tomcat23 : 아니에요.나는 그런 종류의 비판을 다룰 수 있습니다.저도 사과드립니다.@MikeSchinkel: thanks for bringing peace back in. @tomcat23: No, you didn't. I can deal with that sort of criticism. My apologies too.
- 1
- 2011-03-13
- kaiser
-
- 2010-11-14
위젯에서 단축 코드 사용
// shortcode in widgets if ( !is_admin() ){ add_filter('widget_text', 'do_shortcode', 11); }
Enable shortcodes in widgets
// shortcode in widgets if ( !is_admin() ){ add_filter('widget_text', 'do_shortcode', 11); }
-
- 2010-12-28
Wordpress 사용자 정의 관리 바닥 글
<프리> //관리자 바닥 글 텍스트 맞춤 설정 function custom_admin_footer () { echo '여기에 맞춤 바닥 글 텍스트와 html을 추가하세요.'; } add_filter ( 'admin_footer_text','custom_admin_footer');저는 개발자로서 저에게 연락 할 수있는 간단한 참조 지점으로 클라이언트 사이트에 사용합니다.
Wordpress Custom Admin Footer
// customize admin footer text function custom_admin_footer() { echo 'add your custom footer text and html here'; } add_filter('admin_footer_text', 'custom_admin_footer');
I use this for client sites as a simple point of reference to contact me as the dev.
-
- 2010-09-12
RSS 피드 비활성화 기능
테스트 대상 : Wordpress 3.0.1
Wordpress 기반 웹 사이트를 정적으로 유지하려면 RSS 피드를 비활성화 할 수 있습니다.
이 기능을 사용할 수 있습니다.
function fb_disable_feed() { wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') ); } add_action('do_feed', 'fb_disable_feed', 1); add_action('do_feed_rdf', 'fb_disable_feed', 1); add_action('do_feed_rss', 'fb_disable_feed', 1); add_action('do_feed_rss2', 'fb_disable_feed', 1); add_action('do_feed_atom', 'fb_disable_feed', 1);
Function to Disable RSS Feeds
Tested on: Wordpress 3.0.1
You can disable RSS feeds If you want to maintain your Wordpress based website as static.
You can Use this function :
function fb_disable_feed() { wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') ); } add_action('do_feed', 'fb_disable_feed', 1); add_action('do_feed_rdf', 'fb_disable_feed', 1); add_action('do_feed_rss', 'fb_disable_feed', 1); add_action('do_feed_rss2', 'fb_disable_feed', 1); add_action('do_feed_atom', 'fb_disable_feed', 1);
-
출처 : http://bueltge.de/wordpress-feeds-deaktivieren/794/(Frank Bueltge)Source: http://bueltge.de/wordpress-feeds-deaktivieren/794/ (Frank Bueltge)
- 0
- 2010-09-16
- fuxia
-
고마워요 Toscho! 소스는 영어로도 제공됩니다 http://wpengineer.com/287/disable-wordpress-feed/Thanks Toscho! the source is also available in english http://wpengineer.com/287/disable-wordpress-feed/
- 0
- 2010-09-17
- bueltge
-
- 2010-12-28
'안녕'메시지를 '환영'으로 변경
이 기능을 사용하면 관리자 영역의 오른쪽 상단에있는 "안녕"메시지를 사용자 지정할 수 있습니다.
이 함수는 JQuery를 사용하여 "Howdy"메시지를 "Welcome"으로 변경합니다./****** Customize admin message "Howdy" to "Welcome" ******/ $nohowdy = "Welcome"; if (is_admin()) { add_action('init', 'artdev_nohowdy_h'); add_action('admin_footer', 'artdev_nohowdy_f'); } // Load jQuery function artdev_nohowdy_h() { wp_enqueue_script('jquery'); } // Modify function artdev_nohowdy_f() { global $nohowdy; echo <<<JS <script type="text/javascript"> //<![CDATA[ var nohowdy = "$nohowdy"; jQuery('#user_info p') .html( jQuery('#user_info p') .html() .replace(/Howdy/,nohowdy) ); //]]> JS; }
gettext
필터를 사용하는 PHP 버전 :add_filter('gettext', 'change_howdy', 10, 3); function change_howdy($translated, $text, $domain) { if (!is_admin() || 'default' != $domain) return $translated; if (false !== strpos($translated, 'Howdy')) return str_replace('Howdy', 'Welcome', $translated); return $translated; }
Change the "Howdy" message to "Welcome"
With this function you can customize the "Howdy" message in top right of your admin area.
This function make use of JQuery to change the "Howdy" message to "Welcome"./****** Customize admin message "Howdy" to "Welcome" ******/ $nohowdy = "Welcome"; if (is_admin()) { add_action('init', 'artdev_nohowdy_h'); add_action('admin_footer', 'artdev_nohowdy_f'); } // Load jQuery function artdev_nohowdy_h() { wp_enqueue_script('jquery'); } // Modify function artdev_nohowdy_f() { global $nohowdy; echo <<<JS <script type="text/javascript"> //<![CDATA[ var nohowdy = "$nohowdy"; jQuery('#user_info p') .html( jQuery('#user_info p') .html() .replace(/Howdy/,nohowdy) ); //]]> JS; }
PHP version, using
gettext
filter:add_filter('gettext', 'change_howdy', 10, 3); function change_howdy($translated, $text, $domain) { if (!is_admin() || 'default' != $domain) return $translated; if (false !== strpos($translated, 'Howdy')) return str_replace('Howdy', 'Welcome', $translated); return $translated; }
-
이미 PHP 측에서 편집 할 수 없으므로 출력이 전혀 나오지 않습니까?Can't this already be edited on the PHP side so it doesn't get output at all?
- 3
- 2011-02-14
- hakre
-
3.0 이상 버전에서는 확실히 잘 작동하지만 이전 버전에서는 왜 안됩니까?사용하는 다른 플러그인이 이에 대한 책임이 있는지 확인하십시오.여기의 텍스트는 JQuery로 대체 되었습니까? 아마도 JQuery 플러그인일까요?It's working fine here in 3.0+ versions for sure, but why not in older versions? Check if any other plugin you use is responsible for this. The text here replaced with JQuery, maybe a JQuery plugin?
- 0
- 2011-02-14
- Philip
-
- 2011-01-26
& quot; 지금 바로 & quot;에 맞춤 게시물 유형 포함 관리 대시 보드
여기에는 맞춤 게시물 유형과 & quot; 지금 바로 설정 & quot;의 각 유형에 대한 게시물 수가 포함됩니다. 대시 보드 위젯.
// ADD CUSTOM POST TYPES TO THE 'RIGHT NOW' DASHBOARD WIDGET function wph_right_now_content_table_end() { $args = array( 'public' => true , 'show_ui' => true , '_builtin' => false ); $output = 'object'; $operator = 'and'; $post_types = get_post_types( $args , $output , $operator ); foreach( $post_types as $post_type ) { $num_posts = wp_count_posts( $post_type->name ); $num = number_format_i18n( $num_posts->publish ); $text = _n( $post_type->labels->singular_name, $post_type->labels->name , intval( $num_posts->publish ) ); if ( current_user_can( 'edit_posts' ) ) { $num = "<a href='edit.php?post_type=$post_type->name'>$num</a>"; $text = "<a href='edit.php?post_type=$post_type->name'>$text</a>"; } echo '<tr><td class="first b b-' . $post_type->name . '">' . $num . '</td>'; echo '<td class="t ' . $post_type->name . '">' . $text . '</td></tr>'; } $taxonomies = get_taxonomies( $args , $output , $operator ); foreach( $taxonomies as $taxonomy ) { $num_terms = wp_count_terms( $taxonomy->name ); $num = number_format_i18n( $num_terms ); $text = _n( $taxonomy->labels->singular_name, $taxonomy->labels->name , intval( $num_terms )); if ( current_user_can( 'manage_categories' ) ) { $num = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$num</a>"; $text = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$text</a>"; } echo '<tr><td class="first b b-' . $taxonomy->name . '">' . $num . '</td>'; echo '<td class="t ' . $taxonomy->name . '">' . $text . '</td></tr>'; } } add_action( 'right_now_content_table_end' , 'wph_right_now_content_table_end' );
Include custom post types in "Right Now" admin dashboard
This will include your custom post types and the post counts for each type in the "Right Now" dashboard widget.
// ADD CUSTOM POST TYPES TO THE 'RIGHT NOW' DASHBOARD WIDGET function wph_right_now_content_table_end() { $args = array( 'public' => true , 'show_ui' => true , '_builtin' => false ); $output = 'object'; $operator = 'and'; $post_types = get_post_types( $args , $output , $operator ); foreach( $post_types as $post_type ) { $num_posts = wp_count_posts( $post_type->name ); $num = number_format_i18n( $num_posts->publish ); $text = _n( $post_type->labels->singular_name, $post_type->labels->name , intval( $num_posts->publish ) ); if ( current_user_can( 'edit_posts' ) ) { $num = "<a href='edit.php?post_type=$post_type->name'>$num</a>"; $text = "<a href='edit.php?post_type=$post_type->name'>$text</a>"; } echo '<tr><td class="first b b-' . $post_type->name . '">' . $num . '</td>'; echo '<td class="t ' . $post_type->name . '">' . $text . '</td></tr>'; } $taxonomies = get_taxonomies( $args , $output , $operator ); foreach( $taxonomies as $taxonomy ) { $num_terms = wp_count_terms( $taxonomy->name ); $num = number_format_i18n( $num_terms ); $text = _n( $taxonomy->labels->singular_name, $taxonomy->labels->name , intval( $num_terms )); if ( current_user_can( 'manage_categories' ) ) { $num = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$num</a>"; $text = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$text</a>"; } echo '<tr><td class="first b b-' . $taxonomy->name . '">' . $num . '</td>'; echo '<td class="t ' . $taxonomy->name . '">' . $text . '</td></tr>'; } } add_action( 'right_now_content_table_end' , 'wph_right_now_content_table_end' );
-
갑자기 RightNow 위젯에 "WooFramework 내부 컨테이너"게시물 유형이 나타납니다!...하나의 추가 인수가 필요합니다` 'show_ui'=>true` 이제 모두 K입니다.Suddenly, there was a post type "WooFramework Internal Container" appearing in the RightNow widget! . . . one extra argument is needed `'show_ui' => true` and it's all K now
- 0
- 2012-04-04
- brasofilo
-
이것은 위에서 게시 한 것과 똑같은 것입니다.This is the same exact thing I had posted above.
- 0
- 2012-12-09
- jaredwilli
-
- 2010-11-09
대시 보드 헤더에 코덱스 검색 양식 추가
이는 빠른 링크 드롭 다운 옆 오른쪽 상단의 대시 보드 헤더에 코덱 검색 양식을 추가하는 간단한 방법입니다.
<사전> <코드> /** * 대시 보드 헤더에 WP CODEX 검색 양식 추가 */ function wp_codex_search_form () { echo '& lt;formtarget=& quot; _blank & quot;method=& quot;get & quot; action=& quot; http ://wordpress.org/search/do-search.php" class=& quot; alignright & quot; style=& quot; 여백 : 11px 5px 0; & quot; > & lt; 입력 유형=& quot; 텍스트 & quot; onblur=& quot;this.value=(this.value==\ '\')? \ '코덱스 검색 \':this.value; & quot; onfocus=& quot;this.value=(this.value==\ '코덱스 검색 \')? \ '\':this.value; & quot;maxlength="150" value=& quot; 코덱스 검색 & quot; 이름=& quot; 검색 & quot; class=& quot; 텍스트 & quot; > & lt; 입력 유형=& quot; 제출 & quot; value=& quot; 이동 & quot; class=& quot; 버튼 & quot;/> & lt;/양식 > '; } if (current_user_can ( 'manage_plugins')) { //이것이 작동하려면 숫자 11이 10이어야합니다! add_filter ( 'in_admin_header','wp_codex_search_form',11); }Add a codex search form to the dashboard header
This is a simple way to add a codex search form to the dashboard header, on the top-right next to the quicklinks drop-down.
/** * ADD WP CODEX SEARCH FORM TO DASHBOARD HEADER */ function wp_codex_search_form() { echo '<form target="_blank" method="get" action="http://wordpress.org/search/do-search.php" class="alignright" style="margin: 11px 5px 0;"> <input type="text" onblur="this.value=(this.value==\'\') ? \'Search the Codex\' : this.value;" onfocus="this.value=(this.value==\'Search the Codex\') ? \'\' : this.value;" maxlength="150" value="Search the Codex" name="search" class="text"> <input type="submit" value="Go" class="button" /> </form>'; } if( current_user_can( 'manage_plugins' )) { // The number 11 needs to be a 10 for this to work! add_filter( 'in_admin_header', 'wp_codex_search_form', 11 ); }
-
이 코드를 업데이트하여 특정 역할 (특히 관리자)을 가진 사용자에게만 표시되는 방법을 보여줄 수 있습니까?can you update this code to show how this only gets displayed to users with a specific role (specifically administrators)?
- 0
- 2011-02-22
- NetConstructor.com
-
@ NetConstructor.com current_user_can이 플러그인을 관리 할 수 있는지 표시하도록 편집 한 다음 필터를 추가합니다.그렇게 간단합니다.@NetConstructor.com I edited it to show if current_user_can manage plugins, then add the filter. It's that simple.
- 1
- 2011-02-23
- jaredwilli
-
현재 WP 버전에서 여전히 작동합니까 ... 작동하지 못했습니다.Does this still work in the current WP version... I couldn't get it to work
- 1
- 2012-02-15
- Zach Lysobey
-
이 작업 호출에서 add_filter를 캡슐화했습니다. ** add_action ( 'plugins_loaded','pluginInit'); **,그리고`functionpluginInit () {if ... add_filter (...)}`--저는이것을 WP 3.4-alpha에서 실행하고 **in_admin_footer **를 사용해야했습니다.I encapsulated the add_filter in this action call: **add_action('plugins_loaded', 'pluginInit');**, and then `function pluginInit(){if...add_filter(...)}` - - i'm running this in WP 3.4-alpha, and had to use **in_admin_footer**
- 0
- 2012-04-02
- brasofilo
-
- 2010-11-14
이미지 다시 첨부를위한 새 미디어 라이브러리 열
이 코드는 이미지를 다시 첨부 할 수 있도록 미디어 라이브러리 페이지에 새 열을 추가합니다.
add_filter("manage_upload_columns", 'upload_columns'); add_action("manage_media_custom_column", 'media_custom_columns', 0, 2); function upload_columns($columns) { unset($columns['parent']); $columns['better_parent'] = "Parent"; return $columns; } function media_custom_columns($column_name, $id) { $post = get_post($id); if($column_name != 'better_parent') return; if ( $post->post_parent > 0 ) { if ( get_post($post->post_parent) ) { $title =_draft_or_post_title($post->post_parent); } ?> <strong><a href="<?php echo get_edit_post_link( $post->post_parent ); ?>"><?php echo $title ?></a></strong>, <?php echo get_the_time(__('Y/m/d')); ?> <br /> <a class="hide-if-no-js" onclick="findPosts.open('media[]','<?php echo $post->ID ?>');return false;" href="#the-list"><?php _e('Re-Attach'); ?></a> <?php } else { ?> <?php _e('(Unattached)'); ?><br /> <a class="hide-if-no-js" onclick="findPosts.open('media[]','<?php echo $post->ID ?>');return false;" href="#the-list"><?php _e('Attach'); ?></a> <?php } }
New Media Library Column to Re-Attach Images
This code adds a new column to the Media Library Page allowing you to re-attach images
add_filter("manage_upload_columns", 'upload_columns'); add_action("manage_media_custom_column", 'media_custom_columns', 0, 2); function upload_columns($columns) { unset($columns['parent']); $columns['better_parent'] = "Parent"; return $columns; } function media_custom_columns($column_name, $id) { $post = get_post($id); if($column_name != 'better_parent') return; if ( $post->post_parent > 0 ) { if ( get_post($post->post_parent) ) { $title =_draft_or_post_title($post->post_parent); } ?> <strong><a href="<?php echo get_edit_post_link( $post->post_parent ); ?>"><?php echo $title ?></a></strong>, <?php echo get_the_time(__('Y/m/d')); ?> <br /> <a class="hide-if-no-js" onclick="findPosts.open('media[]','<?php echo $post->ID ?>');return false;" href="#the-list"><?php _e('Re-Attach'); ?></a> <?php } else { ?> <?php _e('(Unattached)'); ?><br /> <a class="hide-if-no-js" onclick="findPosts.open('media[]','<?php echo $post->ID ?>');return false;" href="#the-list"><?php _e('Attach'); ?></a> <?php } }
-
- 2010-11-16
편집기 기본값을 WYSIWYG 또는 HTML로 설정
function my_default_editor() { $r = 'tinymce'; // html or tinymce return $r; } add_filter( 'wp_default_editor', 'my_default_editor' );
HTML 편집기를 제거하는 방법은 다음과 같습니다.
jQuery(document).ready(function($) { $("#edButtonHTML").remove(); });
업데이트 됨 기본 편집기를 HTML로 설정하는 또 다른 방법입니다.
add_filter('wp_default_editor', create_function('', 'return "html";'));
Set Editor Defaults to WYSIWYG or HTML
function my_default_editor() { $r = 'tinymce'; // html or tinymce return $r; } add_filter( 'wp_default_editor', 'my_default_editor' );
Here is how to remove the HTML Editor
jQuery(document).ready(function($) { $("#edButtonHTML").remove(); });
UPDATED here is another way to set the default editor to HTML
add_filter('wp_default_editor', create_function('', 'return "html";'));
-
출처에 대한 자세한 정보는 http://wpengineer.com/1946/disable-html-editor-wordpress/를 참조하십시오.see more informations on the origin: http://wpengineer.com/1946/disable-html-editor-wordpress/
- 0
- 2010-11-17
- bueltge
-
- 2010-09-30
작성자 메타 박스/옵션 제거 & amp; MetaBox 게시로 이동
테스트 대상 : Wordpress 3.0.1
나를 미치게 만드는 요소 중 하나는 복잡한 Wordpress 관리 영역입니다. 내functions.php 파일에서 처음부터 항상 설정하는 요소 중 하나는 Author MetaBox 및 Screen Options를 제거한 다음 게시 메타 박스에 옵션을 추가하는 것입니다. 제 생각에는 이것은 의미가 있고 깨끗하게 유지합니다. 이는 적용 가능한 권한도 존중합니다.
이 목표를 달성하려면 다음 코드를functions.php 파일에 복사하여 붙여 넣으십시오.
더 나은 방법이 있다고 생각되면 제안 해주세요.
참고 : 코딩 문제를 해결하기 위해 코드 업데이트
// MOVE THE AUTHOR METABOX INTO THE PUBLISH METABOX add_action( 'admin_menu', 'remove_author_metabox' ); add_action( 'post_submitbox_misc_actions', 'move_author_to_publish_metabox' ); function remove_author_metabox() { remove_meta_box( 'authordiv', 'post', 'normal' ); } function move_author_to_publish_metabox() { global $post_ID; $post = get_post( $post_ID ); echo '<div id="author" class="misc-pub-section" style="border-top-style:solid; border-top-width:1px; border-top-color:#EEEEEE; border-bottom-width:0px;">Author: '; post_author_meta_box( $post ); echo '</div>'; }
Remove Author Metabox/Options & Move to Publish MetaBox
Tested on: Wordpress 3.0.1
One of the things that drive me crazy is a cluttered Wordpress Admin area. One of the elements which I now always setup from the start in my functions.php file is removing the Author MetaBox and Screen Options and then adding the option into the publish metabox. In my opinion this just makes sense and keep things clean. This also respects applicable permissions.
To achieve this goal, just copy and past the following code into your functions.php file.
If you feel there is a better way of doing this please suggest.
NOTE: UPDATED THE CODE TO FIX A CODING ISSUE
// MOVE THE AUTHOR METABOX INTO THE PUBLISH METABOX add_action( 'admin_menu', 'remove_author_metabox' ); add_action( 'post_submitbox_misc_actions', 'move_author_to_publish_metabox' ); function remove_author_metabox() { remove_meta_box( 'authordiv', 'post', 'normal' ); } function move_author_to_publish_metabox() { global $post_ID; $post = get_post( $post_ID ); echo '<div id="author" class="misc-pub-section" style="border-top-style:solid; border-top-width:1px; border-top-color:#EEEEEE; border-bottom-width:0px;">Author: '; post_author_meta_box( $post ); echo '</div>'; }
-
내 게시 상자에 작성자 메타 박스를 추가하지 않습니다.나는`move_author_to_publish_box` 함수에`add_action`이 없기 때문이라고 생각했기 때문에`add_action ( 'admin_menu','move_author_to_publish_box');`를 추가했지만 ** "치명적 오류 : 정의되지 않은 함수 호출post_author_meta_box ()) "**It doesn't add the Author Metabox to my Publish Box. I figured it was because there was no `add_action` for the `move_author_to_publish_box` function so I added `add_action('admin_menu', 'move_author_to_publish_box');` but that gave me a **"Fatal error: Call to undefined function post_author_meta_box()"**
- 0
- 2010-12-05
- matt
-
어떤 버전의 워드 프레스를 사용하고 있습니까?what version of wordpress are you using?
- 0
- 2010-12-06
- NetConstructor.com
-
그리고 출판 할 저자를 어떻게 추가 하시겠습니까?admin_init 또는 admin_menu에서 작동하지 않습니다.And how would you add the author to publish? On admin_init or on admin_menu wouldn't work.
- 0
- 2011-02-01
- kaiser
-
@kaiser-질문을 이해했는지 잘 모르겠습니다.이 코드는 "작성자"메타 박스를 제거하고 "게시"메타 박스에 작성자를 선택하는 옵션을 배치합니다.@kaiser -- I am not sure I understand your question. This code just removes the "author" metabox and places the option to select the author into the "publish" metabox.
- 0
- 2011-02-01
- NetConstructor.com
-
@NetConstructor : 어제 테스트를했는데 (3.0.4) 네,작성자 상자가 없어졌지만 게시 상자로 이동하지 않았습니다.코드를 볼 때 함수가 트리거 된 위치가 아니기 때문에 어떤 식으로도 볼 수 없습니다 ... 당신은 방금 remove_author_box ()fn을 admin_menu 액션 후크에 추가했지만move_author_to_publish_box ()fn은 추가하지 않았습니다.@NetConstructor: I just gave it a test yesterday (3.0.4) and yes, the author box is gone, but not moved to the publish box. When looking at the code i can't see any way, because the function is no where triggered... you just added the remove_author_box() fn to admin_menu action hook, but not the move_author_to_publish_box() fn.
- 1
- 2011-02-01
- kaiser
-
@kaiser-귀하의 권리,이것을 검토 한 후 문제를 발견했습니다.내 대답의 코드를 업데이트 했으므로 이전에 포함 된 모든 것을 삭제하고 위의 전체 코드를 지나쳤습니다.문제가 해결되면 알려주세요.질문에 투표하고 문제가 해결되면 답변하세요-CH :)@kaiser -- your right, after reviewing this I did noticed the issue. I updated the code in my answer so just delete everything you included from this before hand and just past in the full code above. Let me know if this fixes things. Vote up the question and answer if it fixes the problem - CH :)
- 1
- 2011-02-01
- NetConstructor.com
-
@ CH/NC : 물론 작동합니다. 테스트 할 필요도 없습니다.투표 :n/p.다른 쓰레기/클러 터도 포함 할 수 있도록 확장 될 수 있습니다. (토론,포스트 썸네일).나는 당신의 대답을 수정하지 않을 것이지만 시간이 있다면 블로그 게시물의 가치가 있습니다.:)@CH/NC: Sure it works, don't even have to test it. Voting up: n/p. Could/Should be extended to hold some of the other crap/cluter too... (discussions, post thumbnail). I'm not going to mod your answer, but if you got some time, it would even be worth a blog-post. :)
- 0
- 2011-02-01
- kaiser
-
@kaiser-이것이 어디에서 가치가 있는지 정확히 알 수 없습니까?내 목표는 슬러그 및 작성자와 같이 불필요하고 불필요한 메타 박스를 제거하는 것입니다.@kaiser -- not exactly sure where you see value in this? My objective was just to remove some of the metaboxes which were extra and unneeded such as slugs and authors.
- 0
- 2011-02-02
- NetConstructor.com
-
@you : 아니요,절대적으로 혜택을 봅니다.당신은 나를 잘못 이해했을뿐만 아니라 180도 틀렸다.a) 토론 및 썸네일로 확장하고b) "콘텐츠 편집 페이지 정리"정도에 대한 블로그 게시물을 작성하는 것이 좋습니다.편집 : 테스트 수단이 필요하지 않으므로 작동한다는 것을 알고 있습니다.@you: No, i absolutely see the benefit. You didn't only missunderstand me, you got me wrong by 180 degree. I said that it's that good that it should a) be extended to discussions & thumbnails and b) have a blog post about it "decluttering content edit pages" or so. Edit: With no need for testing means, that i know that it works.
- 0
- 2011-02-02
- kaiser
-
@kaiser-칭찬에 감사하지만 여전히 이해하지 못하는 것은 게시 메타 박스에 토론이나 미리보기 이미지를 통합하는 것이 사용자에게 도움이 될 것이라는 점입니다.논리적으로 게시 메타 박스 내에 있어야하므로 슬러그 및 작성자 메타 박스를 제거하는 이점 만 보았습니다.나는 아직도 당신의 요지를 오해하고 있습니까?@kaiser -- appreciate the compliment however what I still don't understand is how you see it would be of benefit to users to have discussions or thumbnails integrated into the publish metabox. I only saw the benefit of removing the slug and author metaboxes as those logically should be within the publish metabox. Am I still misunderstanding your point?
- 0
- 2011-02-03
- NetConstructor.com
-
@NC : 아니,당신이 맞아요.저에게는 "게시 상자"가 아니라 작은 물건을위한 오른쪽 상단의 상자입니다.단일 "섬네일 추가"텍스트 줄 또는 토론의 두 확인란에 대해 별도의 상자가 필요하지 않습니다.다른 건 없습니다.@NC: No, you got me right. For me it's not "the publish box", but just a box on the upper right side for small stuff. I don't see a need to have a separate box for each the single "add thumbnail" text line or the two checkboxes from discussions. Nothing else.
- 0
- 2011-02-03
- kaiser
-
- 2010-11-05
빠른 서버 결정 & amp; 환경 세부 정보
여러 서버가 있고 개발,QA 및 프로덕션 환경과 같은 여러 환경이있는 경우 매우 유용 할 수 있습니다.
내 시스템의 경우 환경은 호스트 이름의 처음 세 글자로 결정되지만 필요에 따라 쉽게 변경할 수 있습니다.
add_action( 'admin_notices', 'report_environment_status', 3 ); // Report on which server and environment details function report_environment_status() { $server = php_uname('n'); switch (strtolower(substr($server,0,3))) { case 'pXX': $msg = "PRODUCTION"; break; case 'qXX': $msg = "QA"; break; case 'dXX': $msg = "DEVELOPMENT"; break; default : $msg = 'UNKNOWN'; } echo "<div id='update-nag'>"; echo "<b>You are in the $msg environment. (Server: $server)</b>"; echo "</div>"; }
이로 인해 잘못된 환경으로 업데이트하는 일이 여러 번 줄어 들었습니다.
이를 플러그인으로 전환하고 네트워크를 활성화하여 모든 사이트에서 알림을받을 수도 있습니다.
Quickly Determine Server & Environment Details
If you have multiple servers and multiple environments such as development, QA, and production environments, this can be very useful.
For my systems, environment is determined by the first 3 letters of the hostname, but this could easily be changed to whatever suits your needs.
add_action( 'admin_notices', 'report_environment_status', 3 ); // Report on which server and environment details function report_environment_status() { $server = php_uname('n'); switch (strtolower(substr($server,0,3))) { case 'pXX': $msg = "PRODUCTION"; break; case 'qXX': $msg = "QA"; break; case 'dXX': $msg = "DEVELOPMENT"; break; default : $msg = 'UNKNOWN'; } echo "<div id='update-nag'>"; echo "<b>You are in the $msg environment. (Server: $server)</b>"; echo "</div>"; }
This has saved me many times from making updates to the wrong environment.
You can also turn this into a plugin and network activate it so all sites get the notification.
-
이 작품에 감사드립니다.이것과 다른 사용 사례에 대해 좀 더 자세히 설명해 주시겠습니까?다른 개발 버전의 코드를 실행할 때 활용하는 다른 코드를 포함 할 수 있다면 저와 다른 사람들에게도 매우 도움이 될 것이라고 생각합니다.또한 사이트를 개발에서 프로덕션으로 이동하거나 한 도메인에서 다른 도메인으로 마이그레이션하는 매끄러운 방법을 사용하는 경우.이 모든 것들이 매우 도움이됩니다.마지막으로 파일을 업데이트 할 때 어떤 유형의 Subversion 클라이언트를 사용합니까?그렇다면이 작업을 위해 특별히 수행하는 작업이 있습니까?thanks for this piece. Could you please elaborate a bit more on this and different usage cases? I think it would also be VERY helpful to me and others if you could possibly include any other code which you utilize when your running different development versions of code. Also, if you utilize a slick way of moving a site from development to production or migrate from one domain to a different one. All these things are very helpful. Finally, do you use any type of subversion client when updating your files? If so, is there anything specific you do for this?
- 0
- 2010-11-05
- NetConstructor.com
-
이것을 답으로 표시하지 마십시오.그렇지 않으면이 목록이 작동하지 않습니다.Please don't mark this as the answer. Otherwise this listing won't work.
- 0
- 2010-11-06
- hakre
-
메시지에 다른 CSS 클래스를 사용하는 것이 더 낫다고 생각합니다. 그래야 메시지가 약간 다른 텍스트를 갖는 것 외에도 환경에서 다른 배경색을 가질 수 있습니다.그렇지 않으면 텍스트 차이를 매우 빨리 알아 차리지 못할 것입니다.I think it'd be better to use different CSS classes on the message, so that the messages could have different background colors in environments in addition to just having slightly different text. Otherwise I think you'd stop noticing the text differences pretty quickly.
- 1
- 2012-01-16
- Ian Dunn
-
- 2010-11-06
빠른function.php 편집 모음
functions.php
에서도 몇 가지 멋진 수정 사항이 있습니다. 수년에 걸쳐 검색하여 대부분을 찾았습니다.발췌 끝
function new_excerpt_more($more) { return '...'; } add_filter('excerpt_more', 'new_excerpt_more');
WP 관리자 로고 교체
function new_admin_logo() { echo '<style type="text/css">#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/admin_logo.png) !important; }</style>'; } add_action('admin_head', 'new_admin_logo');
사용자 지정 Favicon WP-Admin
function admin_favicon() { echo '<link rel="shortcut icon" type="image/x-icon" href="' . get_bloginfo('template_directory') . '/images/favicon.ico" />'; } add_action( 'admin_head', 'admin_favicon' );
맞춤 관리 바닥 글
function custom_admin_footer() { echo 'Welcome to my blog! No More Documentation Links!'; } add_filter('admin_footer_text', 'custom_admin_footer');
Collection of quick function.php edits
I have a few awesome tweaks in
functions.php
as well. Found most of these by searching for them over the years.Excerpt Ending
function new_excerpt_more($more) { return '...'; } add_filter('excerpt_more', 'new_excerpt_more');
Replace WP Admin Logo
function new_admin_logo() { echo '<style type="text/css">#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/admin_logo.png) !important; }</style>'; } add_action('admin_head', 'new_admin_logo');
Custom Favicon WP-Admin
function admin_favicon() { echo '<link rel="shortcut icon" type="image/x-icon" href="' . get_bloginfo('template_directory') . '/images/favicon.ico" />'; } add_action( 'admin_head', 'admin_favicon' );
Custom Admin Footer
function custom_admin_footer() { echo 'Welcome to my blog! No More Documentation Links!'; } add_filter('admin_footer_text', 'custom_admin_footer');
-
감사합니다.하지만 이미 추가되었습니다.thanks but these have already been added.
- 0
- 2010-11-08
- NetConstructor.com
-
이 내용을 살펴보고 중복 항목이 없는지 확인하고 향후 몇 주 내에 각 항목을 자체 답변으로 나눌 수 있습니까?could you please go through these and ensure there are no duplicate entires and split each one up into its own answer within the next few weeks?
- 0
- 2011-01-26
- NetConstructor.com
-
- 2010-11-08
고정 : 기본 Wordpress 메타 상자 제거
매우 편리했지만 오류가있었습니다.
// REMOVE META BOXES FROM DEFAULT POSTS SCREEN function remove_default_post_screen_metaboxes() { remove_meta_box( 'postcustom','post','normal' ); // Custom Fields Metabox remove_meta_box( 'postexcerpt','post','normal' ); // Excerpt Metabox remove_meta_box( 'commentstatusdiv','post','normal' ); // Comments Metabox remove_meta_box( 'trackbacksdiv','post','normal' ); // Talkback Metabox remove_meta_box( 'slugdiv','post','normal' ); // Slug Metabox remove_meta_box( 'authordiv','post','normal' ); // Author Metabox } add_action('admin_menu','remove_default_post_screen_metaboxes'); // REMOVE META BOXES FROM DEFAULT PAGES SCREEN function remove_default_page_screen_metaboxes() { global $post_type; remove_meta_box( 'postcustom','page','normal' ); // Custom Fields Metabox remove_meta_box( 'postexcerpt','page','normal' ); // Excerpt Metabox remove_meta_box( 'commentstatusdiv','page','normal' ); // Comments Metabox remove_meta_box('commentsdiv','page','normal'); // Comments remove_meta_box( 'trackbacksdiv','page','normal' ); // Talkback Metabox remove_meta_box( 'slugdiv','page','normal' ); // Slug Metabox remove_meta_box( 'authordiv','page','normal' ); // Author Metabox } add_action('admin_menu','remove_default_page_screen_metaboxes');
Fixed: Remove Default Wordpress Meta Boxes
This was very handy but had some errors
// REMOVE META BOXES FROM DEFAULT POSTS SCREEN function remove_default_post_screen_metaboxes() { remove_meta_box( 'postcustom','post','normal' ); // Custom Fields Metabox remove_meta_box( 'postexcerpt','post','normal' ); // Excerpt Metabox remove_meta_box( 'commentstatusdiv','post','normal' ); // Comments Metabox remove_meta_box( 'trackbacksdiv','post','normal' ); // Talkback Metabox remove_meta_box( 'slugdiv','post','normal' ); // Slug Metabox remove_meta_box( 'authordiv','post','normal' ); // Author Metabox } add_action('admin_menu','remove_default_post_screen_metaboxes'); // REMOVE META BOXES FROM DEFAULT PAGES SCREEN function remove_default_page_screen_metaboxes() { global $post_type; remove_meta_box( 'postcustom','page','normal' ); // Custom Fields Metabox remove_meta_box( 'postexcerpt','page','normal' ); // Excerpt Metabox remove_meta_box( 'commentstatusdiv','page','normal' ); // Comments Metabox remove_meta_box('commentsdiv','page','normal'); // Comments remove_meta_box( 'trackbacksdiv','page','normal' ); // Talkback Metabox remove_meta_box( 'slugdiv','page','normal' ); // Slug Metabox remove_meta_box( 'authordiv','page','normal' ); // Author Metabox } add_action('admin_menu','remove_default_page_screen_metaboxes');
-
- 2010-11-11
자동 로그 아웃 기간 연장
테스트 대상 : Wordpress 3.0.1
아래 코드를 사용하면 쿠키가 보관되는 시간을 늘릴 수 있으므로 로그인 한 사용자가 더 오래 로그인 상태를 유지할 수 있습니다.
function keep_me_logged_in_for_1_year( $expirein ) { return 31556926; // 1 year in seconds } add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );
Extending Auto Logout Period
Tested on: Wordpress 3.0.1
Using the code below you can increase the time cookies are kept and therefor users who are logged in remain logged in longer:
function keep_me_logged_in_for_1_year( $expirein ) { return 31556926; // 1 year in seconds } add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );
-
여기에 사용할 수있는 또 다른 트릭이 있습니다. http://wpengineer.com/2064/stop-wordpress-from-ever-logging-out/there is another trick which can be used which I found here: http://wpengineer.com/2064/stop-wordpress-from-ever-logging-out/
- 1
- 2010-11-11
- NetConstructor.com
-
세션 시간 제한은 보안 예방 조치로 있으므로 확장/제거하면 사이트가 더 취약 해집니다.It should be noted that the session timeout is there as a security precaution, so extending/removing it makes your site more vulnerable.
- 3
- 2012-01-16
- Ian Dunn
-
- 2010-11-14
& quot; 설정 & quot; 플러그인 목록 페이지의 플러그인 링크
& quot; 설정 & quot; WordPress 백엔드의 플러그인 페이지에있는 플러그인 링크,사용하기 쉬운 사용자 설정으로 이동 (코드는 WordPress 버전 2.9보다 작은 솔루션도 포함)
// plugin definitions define( 'FB_BASENAME', plugin_basename( __FILE__ ) ); define( 'FB_BASEFOLDER', plugin_basename( dirname( __FILE__ ) ) ); define( 'FB_FILENAME', str_replace( FB_BASEFOLDER.'/', '', plugin_basename(__FILE__) ) ); function filter_plugin_meta($links, $file) { /* create link */ if ( $file == FB_BASENAME ) { array_unshift( $links, sprintf( '<a href="options-general.php?page=%s">%s</a>', FB_FILENAME, __('Settings') ) ); } return $links; } global $wp_version; if ( version_compare( $wp_version, '2.7alpha', '>' ) ) { add_filter( 'plugin_action_links_' . FB_WM_BASENAME, 'filter_plugin_meta', 10, 2); } else { add_filter( 'plugin_action_links', 'filter_plugin_meta', 10, 2 ); }
Add a "Settings" link for plugins on the plugin list page
Set "Settings" link for plugins on plugin-page in WordPress backend, easy to use jump to settings for users (the code is also with an solution for WordPress version smaller 2.9)
// plugin definitions define( 'FB_BASENAME', plugin_basename( __FILE__ ) ); define( 'FB_BASEFOLDER', plugin_basename( dirname( __FILE__ ) ) ); define( 'FB_FILENAME', str_replace( FB_BASEFOLDER.'/', '', plugin_basename(__FILE__) ) ); function filter_plugin_meta($links, $file) { /* create link */ if ( $file == FB_BASENAME ) { array_unshift( $links, sprintf( '<a href="options-general.php?page=%s">%s</a>', FB_FILENAME, __('Settings') ) ); } return $links; } global $wp_version; if ( version_compare( $wp_version, '2.7alpha', '>' ) ) { add_filter( 'plugin_action_links_' . FB_WM_BASENAME, 'filter_plugin_meta', 10, 2); } else { add_filter( 'plugin_action_links', 'filter_plugin_meta', 10, 2 ); }
-
이 코드를 사용하려고 시도했지만 wordpress 3.1에서 작동하지 않는 것 같습니다.확인하고 업데이트 할 수 있습니까?I have attempted to use this code but it seem that it does not work on wordpress 3.1. Can you confirm and update
- 0
- 2011-02-22
- NetConstructor.com
-
@ NetConstructor.com 내 무료 플러그인 중 하나에서 약간의 입찰가를 업데이트했습니다. 내 모든 플러그인에서 잘 작동합니다.@NetConstructor.com I have update a little bid from one of my free plugins, on all my plugins works fine this
- 0
- 2011-02-28
- bueltge
-
모든 플러그인 작성자가 (물론 설정 페이지가있는 플러그인의 경우) 이렇게하여 이런 종류의 코드가 필요하지 않기를 바랍니다.I wish all plugin authors would do this (for the plugins that have settings pages, of course) so this kind of code wouldn't be necessary.
- 0
- 2011-12-06
- JimmyPena
-
- 2010-12-28
WordPress 댓글에서 URL 자동 연결 제거
<프리> remove_filter ( 'comment_text','make_clickable',9);Remove Auto Linking of URLs in WordPress Comments
remove_filter('comment_text', 'make_clickable', 9);
-
좋은!나는 그것을`the_content`에 적용하기 위해`make_clickable ()`함수를 찾고 있었다!애초에 왜하지 않았을까요?`add_filter ( 'the_content','make_clickable');`을 추가하는 것만큼이나 간단합니다. 또는 [다른 후크] (http://stackoverflow.com/a/5036802/288906)를 사용하여 게시물을 저장할 때 수행 할 수 있습니다.Nice! I was looking for that `make_clickable()` function to apply it to `the_content`! Why didn't they do it in the first place? It's as simple as adding `add_filter( 'the_content', 'make_clickable');` Alternatively it could be done when the post is saved by using a [different hook](http://stackoverflow.com/a/5036802/288906)
- 0
- 2014-01-11
- fregante
-
- 2011-03-19
페이지 목록에 페이지 템플릿 필터 추가
테스트 대상 : WP 3.1
페이지 목록에 페이지 템플릿 필터를 추가하여 주어진 템플릿이 첨부 된 페이지 목록을 볼 수 있습니다.
class Page_Template_Filter { private $templates = array(); public function __construct() { // If it's not the admin area or the current user can't edit pages let's just bail here if( !is_admin() || !current_user_can('edit_pages') ) return; add_action( 'parse_query', array( $this, 'pt_parse_query' ) ); add_action( 'restrict_manage_posts', array( $this, 'pt_restrict_manage_posts' ) ); } public function pt_parse_query( $query ) { global $pagenow, $post_type; if( 'edit.php' != $pagenow ) return; switch( $post_type ) { case 'post': break; case 'page': $this->templates = get_page_templates(); if( empty( $this->templates ) ) return; if( !$this->is_set_template() ) return; $meta_group = array( 'key' => '_wp_page_template', 'value' => $this->get_template() ); set_query_var( 'meta_query', array( $meta_group ) ); break; } } public function pt_restrict_manage_posts() { if( empty( $this->templates ) ) return; $this->template_dropdown(); } private function get_template() { if( $this->is_set_template() ) foreach( $this->templates as $template ) { if( $template != $_GET['page_template'] ) continue; return $template; } return ''; } private function is_set_template() { return (bool) ( isset( $_GET['page_template'] ) && ( in_array( $_GET['page_template'], $this->templates ) ) ); } private function template_dropdown() { ?> <select name="page_template" id="page_template"> <option value=""> - no template - </option> <?php foreach( $this->templates as $name => $file ): ?> <option value="<?php echo $file; ?>"<?php selected( $this->get_template() == $file ); ?>><?php _e( $name ); ?></option> <?php endforeach;?> </select> <?php } } add_action('admin_init', 'load_ptf'); function load_ptf() { $Page_Template_Filter = new Page_Template_Filter; }
작동하려면 3.1 이상이 필요하지만
meta_query
는 3.0의 경우 이전meta_key
및meta_value
로 대체 될 수 있습니다.Add page template filter to page listing
Tested on: WP 3.1
Adds a page template filter to the page listing, so you can view a list of pages that have a given template attached.
class Page_Template_Filter { private $templates = array(); public function __construct() { // If it's not the admin area or the current user can't edit pages let's just bail here if( !is_admin() || !current_user_can('edit_pages') ) return; add_action( 'parse_query', array( $this, 'pt_parse_query' ) ); add_action( 'restrict_manage_posts', array( $this, 'pt_restrict_manage_posts' ) ); } public function pt_parse_query( $query ) { global $pagenow, $post_type; if( 'edit.php' != $pagenow ) return; switch( $post_type ) { case 'post': break; case 'page': $this->templates = get_page_templates(); if( empty( $this->templates ) ) return; if( !$this->is_set_template() ) return; $meta_group = array( 'key' => '_wp_page_template', 'value' => $this->get_template() ); set_query_var( 'meta_query', array( $meta_group ) ); break; } } public function pt_restrict_manage_posts() { if( empty( $this->templates ) ) return; $this->template_dropdown(); } private function get_template() { if( $this->is_set_template() ) foreach( $this->templates as $template ) { if( $template != $_GET['page_template'] ) continue; return $template; } return ''; } private function is_set_template() { return (bool) ( isset( $_GET['page_template'] ) && ( in_array( $_GET['page_template'], $this->templates ) ) ); } private function template_dropdown() { ?> <select name="page_template" id="page_template"> <option value=""> - no template - </option> <?php foreach( $this->templates as $name => $file ): ?> <option value="<?php echo $file; ?>"<?php selected( $this->get_template() == $file ); ?>><?php _e( $name ); ?></option> <?php endforeach;?> </select> <?php } } add_action('admin_init', 'load_ptf'); function load_ptf() { $Page_Template_Filter = new Page_Template_Filter; }
Requires at least 3.1 to work, though the
meta_query
could be replaced with the oldermeta_key
andmeta_value
for 3.0.-
완벽하게 작동하며 3.4 알파에서 테스트되었습니다.works flawlessly, tested in 3.4-alpha
- 0
- 2012-04-02
- brasofilo
-
- 2010-09-13
성능 향상을 위해 사용하지 않을 때 XML-RPC 제거
테스트 대상 : Wordpress 3.0.1
WordPress는 CURL 연산을 사용하여 XML-RPC에 대한 SSL 기능을 테스트합니다.XML-RPC를 사용하고 있지만 사용하지 않는 경우 필터를 제거 할 수 있습니다.이것은 약간의 성능 향상입니다 (기본적으로 WP가 https url에서 cURL GET을 수행하고 1) 거부 된 메시지를 받거나 2) 시간이 초과되고 5 초 이상 걸릴 수 있기 때문에 실제로 방지되었습니다.cURL GET이 XML-RPC를 사용할 수 없게 렌더링하기 전에 프록시가 시간 초과 된 게이트웨이 시간 초과.
// Prevents WordPress from testing ssl capability on domain.com/xmlrpc.php?rsd remove_filter('atom_service_url','atom_service_url_filter');
Remove XML-RPC when not in use for performance boost
Tested on: Wordpress 3.0.1
WordPress uses a CURL operation to test for SSL capability for XML-RPC. If you're using XML-RPC but not using, then you can remove the filter. This is a small performance boost (since basically WP does a cURL GET on the https url and either 1) gets a denied message, or 2) times out, and it can take upwards of 5 seconds), but in our case it actually prevented a gateway timeout where a proxy was timing out before the cURL GET was timing out rendering XML-RPC unusable.
// Prevents WordPress from testing ssl capability on domain.com/xmlrpc.php?rsd remove_filter('atom_service_url','atom_service_url_filter');
-
코드 제안에 감사드립니다.한 가지 질문은 XML-RPC를 사용하지만 SSL 기능을 사용하지 않는 경우이 코드를 포함하면 속도가 전혀 빨라질 수 있습니까?그렇지 않다면 어떤 상황에서이 강령을 포함하면 도움이됩니까?Thanks for the code suggestion. One question, if you are using XML-RPC but not using the SSL capabilities would the including of this code speed things up at all? If not, in what situations would the inclusion of this code serve a benefit?
- 0
- 2010-09-14
- NetConstructor.com
-
더 이상 HTTP 요청을 통해 SSL 기능을 확인할 필요가 없기 때문에 XML-RPC 호출의 성능에 미미한 영향을 미칩니다.It has a minuscule effect on performance for XML-RPC calls, since they no longer have to check for SSL capability via an HTTP request.
- 0
- 2010-09-19
- gabrielk
-
- 2010-11-15
모든 사용자 정의 필드를 전역으로 가져옵니다
function get_custom_field($key, $echo = FALSE) { global $post; $custom_field = get_post_meta( $post->ID, $key, true ); if ( $echo == false ) return $custom_field; echo $custom_field; }
그런 다음 한 줄로 필드 호출
<?php get_custom_field('custom-field-name', TRUE); ?>
Grab all custom fields globally
function get_custom_field($key, $echo = FALSE) { global $post; $custom_field = get_post_meta( $post->ID, $key, true ); if ( $echo == false ) return $custom_field; echo $custom_field; }
Then call the field with a single line
<?php get_custom_field('custom-field-name', TRUE); ?>
-
누군가 이것을 사용하는 이유는 무엇입니까?이점은 무엇입니까?Why would someone use this? What's the benefit?
- 0
- 2010-12-05
- matt
-
많은 사용자 정의 필드를 사용하는 사이트/테마 (클라이언트 작업에 자주 사용함)의 경우 테마에서 코드를 줄이고 필드를 표시할지 여부에 대한 조건을 추가 할 수 있습니다.for sites / themes that use a lot of custom fields (which I use often for client work) it allows for less code in the theme, and also for adding conditionals on whether or not to display the field at all.
- 2
- 2010-12-10
- Norcross
-
- 2010-11-17
댓글 수 반환
이것은
count_user_posts()
와 비슷하지만 대신 댓글 수를 반환합니다.function count_user_comments($id) { global $wpdb; $users = $wpdb->get_var(" SELECT COUNT( * ) AS total FROM $wpdb->comments WHERE comment_approved = 1 AND user_id = $id"); return $users; }
더보기 : 사용자의 게시물 (맞춤 게시물 유형 포함) 또는 댓글 수 :
function atom_count($user_id, $what_to_count = 'post') { global $wpdb; $where = $what_to_count == 'comment' ? "WHERE comment_approved = 1 AND user_id = {$user_id}" : get_posts_by_author_sql($what_to_count, TRUE, $user_id); $from = "FROM ".(($what_to_count == 'comment') ? $wpdb->comments : $wpdb->posts); $count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) {$from} {$where}")); return $count; }
사용 예 :
<?php echo atom_count(1, 'movie'); // displays 'movie' post type count ?>
<?php echo atom_count(1, 'comment'); // displays comment count ?>
Return the number of comments
This is like
count_user_posts()
, but returns the number of comments instead:function count_user_comments($id) { global $wpdb; $users = $wpdb->get_var(" SELECT COUNT( * ) AS total FROM $wpdb->comments WHERE comment_approved = 1 AND user_id = $id"); return $users; }
More: Count User's posts (including custom post types) or comments:
function atom_count($user_id, $what_to_count = 'post') { global $wpdb; $where = $what_to_count == 'comment' ? "WHERE comment_approved = 1 AND user_id = {$user_id}" : get_posts_by_author_sql($what_to_count, TRUE, $user_id); $from = "FROM ".(($what_to_count == 'comment') ? $wpdb->comments : $wpdb->posts); $count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) {$from} {$where}")); return $count; }
Usage examples:
<?php echo atom_count(1, 'movie'); // displays 'movie' post type count ?>
<?php echo atom_count(1, 'comment'); // displays comment count ?>
-
- 2010-12-28
텍스트/HTML 위젯에서 oEmbed 활성화
add_filter ( 'widget_text',array ($ wp_embed,'run_shortcode'),8); add_filter ( 'widget_text',array ($ wp_embed,'autoembed'),8);
YouTube 동영상 위젯과 플리커에 사용합니다.
Enable oEmbed in Text/HTML Widgets
add_filter( 'widget_text', array( $wp_embed, 'run_shortcode' ), 8 ); add_filter( 'widget_text', array( $wp_embed, 'autoembed'), 8 );
I use this for youtube video widgets and flickr stuff.
-
- 2010-09-15
포스트 단어 수
테스트 대상 : Wordpress 3.0.1
(원래 Post Word Count 플러그인 작성자 : Nick Momrick )
& quot; 지금 당장 & quot; 관리자 대시 보드의 상자. 블로그를 NaNoWriMo 와 같은 매체로 사용하거나 추적하려는 경우 유용합니다. 귀하의 블로깅 기술이 얼마나 다산되었는지에 대한 것입니다.
function post_word_count() { $count = 0; $posts = get_posts( array( 'numberposts' => -1, 'post_type' => array( 'post', 'page' ) )); foreach( $posts as $post ) { $count += str_word_count( strip_tags( get_post_field( 'post_content', $post->ID ))); } $num = number_format_i18n( $count ); // This block will add your word count to the stats portion of the Right Now box $text = _n( 'Word', 'Words', $num ); echo "<tr><td class='first b'>{$num}</td><td class='t'>{$text}</td></tr>"; // This line will add your word count to the bottom of the Right Now box. echo '<p>This blog contains a total of <strong>' . $num . '</strong> published words!</p>'; } // add to Content Stats table add_action( 'right_now_content_table_end', 'post_word_count'); // add to bottom of Activity Box add_action('activity_box_end', 'post_word_count');
쿼리없는 코드 정리를 위해 Rarst 에 찬사를 보냅니다!
Post Word Count
Tested on: Wordpress 3.0.1
(Originally extracted from the Post Word Count plug-in by Nick Momrick)
Adds a count of total published words to the bottom of the "Right Now" box on the admin dashboard. Useful if you're using your blog as an outlet for something like NaNoWriMo or if you just want to keep track of how prolific your blogging skills have become.
function post_word_count() { $count = 0; $posts = get_posts( array( 'numberposts' => -1, 'post_type' => array( 'post', 'page' ) )); foreach( $posts as $post ) { $count += str_word_count( strip_tags( get_post_field( 'post_content', $post->ID ))); } $num = number_format_i18n( $count ); // This block will add your word count to the stats portion of the Right Now box $text = _n( 'Word', 'Words', $num ); echo "<tr><td class='first b'>{$num}</td><td class='t'>{$text}</td></tr>"; // This line will add your word count to the bottom of the Right Now box. echo '<p>This blog contains a total of <strong>' . $num . '</strong> published words!</p>'; } // add to Content Stats table add_action( 'right_now_content_table_end', 'post_word_count'); // add to bottom of Activity Box add_action('activity_box_end', 'post_word_count');
Kudos to Rarst for the query-free cleanup of the code!
-
도와 주셔서 감사합니다,* Rarst *.나는 일반적으로 플러그인`function.php` 코드에 직접 데이터베이스 쿼리를 포함하고 싶지 않지만,원래 다른 사람의 플러그인에서 가져온 것이라고 말했듯이.Thanks for the assist, *Rarst*. I typically don't like to include direct database queries in plug-in `function.php` code, but like I said it was originally taken from someone else's plug-in.
- 0
- 2010-09-15
- EAMann
-
np,나는 오래 전에 시도했지만 엉망이었습니다.:) 이제 업그레이드 된 기술로 제대로 할 때였습니다.왜 오래된 출력 부분을 남겼습니까?나머지 통계와 함께 표시하는 것이 합리적이라고 생각합니다.btw이 버전은 다른 총계를 제공합니다 ( 'explode'와 비교). 이는 API를 통해 가져올 때 필터와 같은 방식으로 인해 발생했을 수 있습니다.np, I tried this long time ago and it was a mess. :) Now with upgraded skills it was time to do it right. Why left old output part? I think it makes sense to display it with rest of stats. btw this version gives different total (comparing to `explode`), this is probably because of filters along the way and such when fetching via API.
- 0
- 2010-09-15
- Rarst
-
포스트 수의 차이는 필터의 결과입니다 ...하지만`get_posts ()`를 사용하면 어쨌든 더 정확한 단어 수를 얻을 수 있습니다.이전 출력 라인은 단순히 내가 사용하고 있기 때문에 남겼습니다 ... 다른 어떤 것보다 의견 차이가 더 많습니다 ... 사람들이 선택할 수 있도록 통계에 추가하기 위해 예제를 다시 추가하겠습니다.The difference in post count is a result of filters ... but using `get_posts()` will likely be a more accurate word count anyway. I left the old output line simply because that's how I've been using it ... more a difference of opinion than anything else ... I'll re-add your example to add it to the stats so people can pick.
- 0
- 2010-09-15
- EAMann
-
- 2010-09-17
로그인 한 사용자에게만 특정 콘텐츠 표시
테스트 대상 : Wordpress 3.0.1
function content_only4logged_in($content) { // ALL LOGGED IN USERS if ( is_user_logged_in() && !is_null($content) && !is_feed() ) { return $content; } else { $content = wp_html_excerpt( $content, 80 ); $content .= ' …'; $content .= __( 'Sorry, more of this content is only available for logged users.', FB_TEXTDOMAIN ); return $content; } } add_action( 'the_content', 'content_only4logged_in' );
Display Specific Content only for logged in users
Tested on: Wordpress 3.0.1
function content_only4logged_in($content) { // ALL LOGGED IN USERS if ( is_user_logged_in() && !is_null($content) && !is_feed() ) { return $content; } else { $content = wp_html_excerpt( $content, 80 ); $content .= ' …'; $content .= __( 'Sorry, more of this content is only available for logged users.', FB_TEXTDOMAIN ); return $content; } } add_action( 'the_content', 'content_only4logged_in' );
more possibilities and informations on the post http://wpengineer.com/2046/control-the-wordpress-content-via-userrights-or-time/
-
로그인하지 않은 사용자를 위해 변경된 콘텐츠를 표시 할 수 없습니다. 첫 번째 부분은 정상적으로 작동하지만 사용자가 로그인되지 않았고 페이지가 비공개로 표시되어 있습니다. 그냥 일반 404가 제공됩니까?I can't get this to display altered content for non-logged in users... the first part works fine, but it the user is not logged in and the page is marked private, I just get served the regular 404?
- 0
- 2011-02-09
- gillespieza
-
- 2010-09-30
조건부로 스크립트로드
다음은 특정 단축 코드 또는 위젯이있는 경우에만 스크립트를로드하는 방법입니다. 출처 : 특정 단축 코드 또는 위젯이있는 경우에만 스크립트로드
function has_my_shortcode($posts) { if ( empty($posts) ) return $posts; $found = false; foreach ($posts as $post) { if ( stripos($post->post_content, '[my_shortcode') ) $found = true; break; } if ($found){ $urljs = get_bloginfo( 'template_directory' ).IMP_JS; wp_register_script('my_script', $urljs.'myscript.js' ); wp_print_scripts('my_script'); } return $posts; } add_action('the_posts', 'has_my_shortcode');
다음은 특정 위젯이있는 경우에만 스크립트를로드하는 방법입니다.
위젯이로드 된 페이지에서만 스크립트를로드하려면 위젯 클래스에is_active_widget () 코드를 추가해야합니다. 예 : 기본 최근 댓글 위젯 (wp-includes/default-widgets.php,602 행)을 참조하세요.
class WP_Widget_Recent_Comments extends WP_Widget { function WP_Widget_Recent_Comments() { $widget_ops = array('classname' => 'widget_recent_comments', 'description' => __( 'The most recent comments' ) ); $this->WP_Widget('recent-comments', __('Recent Comments'), $widget_ops); $this->alt_option_name = 'widget_recent_comments'; if ( is_active_widget(false, false, $this->id_base) ) add_action( 'wp_head', array(&$this, 'recent_comments_style') ); add_action( 'comment_post', array(&$this, 'flush_widget_cache') ); add_action( 'transition_comment_status', array(&$this, 'flush_widget_cache') ); }
Loading scripts conditionally
Here is a way to load scripts only if a particular shortcode or widget is present. source: Loading scripts only if a particular shortcode or widget is present
function has_my_shortcode($posts) { if ( empty($posts) ) return $posts; $found = false; foreach ($posts as $post) { if ( stripos($post->post_content, '[my_shortcode') ) $found = true; break; } if ($found){ $urljs = get_bloginfo( 'template_directory' ).IMP_JS; wp_register_script('my_script', $urljs.'myscript.js' ); wp_print_scripts('my_script'); } return $posts; } add_action('the_posts', 'has_my_shortcode');
And here is how to load scripts only if a certain widget is present
To load the script in the page where the widget is loaded only, you will have to add the is_active_widget() code, in you widget class. E.g., see the default recent comments widget (wp-includes/default-widgets.php, line 602):
class WP_Widget_Recent_Comments extends WP_Widget { function WP_Widget_Recent_Comments() { $widget_ops = array('classname' => 'widget_recent_comments', 'description' => __( 'The most recent comments' ) ); $this->WP_Widget('recent-comments', __('Recent Comments'), $widget_ops); $this->alt_option_name = 'widget_recent_comments'; if ( is_active_widget(false, false, $this->id_base) ) add_action( 'wp_head', array(&$this, 'recent_comments_style') ); add_action( 'comment_post', array(&$this, 'flush_widget_cache') ); add_action( 'transition_comment_status', array(&$this, 'flush_widget_cache') ); }
-
- 2010-11-10
맞춤 대시 보드 CSS
/* Change WordPress dashboard CSS */ function custom_admin_styles() { echo '<style type="text/css">#wphead{background:#069}</style>'; } add_action('admin_head', 'custom_admin_styles');
태그 사이의 CSS에 변경 사항을 추가 할 수 있습니다.
Custom Dashboard CSS
/* Change WordPress dashboard CSS */ function custom_admin_styles() { echo '<style type="text/css">#wphead{background:#069}</style>'; } add_action('admin_head', 'custom_admin_styles');
You can add any changes to the css between the tags.
-
- 2010-12-03
개인 및 보호 된 접두사 제거
이 기능은 & quot; 비공개 : & quot;비공개로 표시된 게시물 및 페이지의 접두사.로그인 한 사용자 또는 그룹에게만 표시되는 콘텐츠에 유용합니다.
function the_title_trim($title) { $title = attribute_escape($title); $findthese = array( '#Protected:#', '#Private:#' ); $replacewith = array( '', // What to replace "Protected:" with '' // What to replace "Private:" with ); $title = preg_replace($findthese, $replacewith, $title); return $title; } add_filter('the_title', 'the_title_trim');
수정 : 보호됨 : 제거도 포함하도록 업데이트되었습니다.
Remove Private and Protected Prefix
This function removes the "Privite:" prefix from posts and pages marked private. Useful for content only visible to logged in users or groups.
function the_title_trim($title) { $title = attribute_escape($title); $findthese = array( '#Protected:#', '#Private:#' ); $replacewith = array( '', // What to replace "Protected:" with '' // What to replace "Private:" with ); $title = preg_replace($findthese, $replacewith, $title); return $title; } add_filter('the_title', 'the_title_trim');
EDIT: Updated to include the removal of Protected: as well.
-
- 2011-01-02
맞춤 발췌 길이
function excerpt($num) { $limit = $num+1; $excerpt = explode(' ', get_the_excerpt(), $limit); array_pop($excerpt); $excerpt = implode(" ",$excerpt)."... (<a href='" .get_permalink($post->ID) ." '>Read more</a>)"; echo $excerpt; }
테마를 작성하여 표시되는 발췌 부분의 길이를 제한합니다.excerpt ('20 ');
예 :
<?php excerpt('22'); ?>
발췌 부분은 22 자로 제한됩니다.발췌 부분은
로 중단됩니다.... (Read More)
Custom excerpt length
function excerpt($num) { $limit = $num+1; $excerpt = explode(' ', get_the_excerpt(), $limit); array_pop($excerpt); $excerpt = implode(" ",$excerpt)."... (<a href='" .get_permalink($post->ID) ." '>Read more</a>)"; echo $excerpt; }
Limit the length of the displayed excerpt by writing in the theme: excerpt('20');
Example:
<?php excerpt('22'); ?>
This will limit the excerpt to 22 characters.The excerpt will be interupted with
... (Read More)
-
- 2011-02-21
body_class에 상위 페이지 슬러그 추가
/*************************************************************** * Function body_class_section * Add the top level page to the body class for coloured sections ***************************************************************/ add_filter('body_class','body_class_section'); function body_class_section($classes) { global $wpdb, $post; if (is_page()) { if ($post->post_parent) { $parent = end(get_post_ancestors($current_page_id)); } else { $parent = $post->ID; } $post_data = get_post($parent, ARRAY_A); $classes[] = 'section-' . $post_data['post_name']; } return $classes; }
이 필터는 현재 페이지의 최상위 상위 수준을 기반으로 고유 한 본문 클래스를 추가합니다. 나는 사이트의 각 섹션에 대해 특정 색상이나 레이아웃이있는 사이트에 사용합니다. 페이지를 기반으로 한 사이트에서 가장 잘 작동합니다. CSS 예 :
.section-about { background: red; } .section-portfolio { background: blue; }
테마는 body_class 함수 를 사용해야합니다.
임베디드 플래시 개체 수정
/*************************************************************** * Function my_oembed_wmode * Fix oEmbed window mode for flash objects ***************************************************************/ add_filter('embed_oembed_html', 'my_oembed_wmode', 1); function my_oembed_wmode( $embed ) { if ( strpos( $embed, '<param' ) !== false ) { $embed = str_replace( '<embed', '<embed wmode="transparent" ', $embed ); $embed = preg_replace( '/param>/', 'param><param name="wmode" value="transparent" />', $embed, 1); } return $embed; }
과거에는 oEmbed Flash 개체가 드롭 다운 탐색 메뉴와 충돌하는 문제가있었습니다. 이 필터는 임베드에 투명 창 모드를 추가하여 문제를 해결합니다.
관리 페이지 목록에서 "댓글"열 제거
/*************************************************************** * Function custom_pages_columns * Remove "comments" from pages overview (rarely use comments on pages) ***************************************************************/ add_filter('manage_pages_columns', 'custom_pages_columns'); function custom_pages_columns($defaults) { unset($defaults['comments']); return $defaults; }
나는 페이지에 댓글을 거의 사용하지 않으며 이는 WordPress 대시 보드를 깔끔하게 유지하는 데 도움이됩니다.
Add parent page slug to body_class
/*************************************************************** * Function body_class_section * Add the top level page to the body class for coloured sections ***************************************************************/ add_filter('body_class','body_class_section'); function body_class_section($classes) { global $wpdb, $post; if (is_page()) { if ($post->post_parent) { $parent = end(get_post_ancestors($current_page_id)); } else { $parent = $post->ID; } $post_data = get_post($parent, ARRAY_A); $classes[] = 'section-' . $post_data['post_name']; } return $classes; }
This filter adds a unique body class based on the highest level parent of the current page. I use this for sites that have specific colours or layouts for each section of the site. It works best with sites based around pages. CSS examples:
.section-about { background: red; } .section-portfolio { background: blue; }
Your theme must also make use of the body_class function.
Fix oEmbed flash objects
/*************************************************************** * Function my_oembed_wmode * Fix oEmbed window mode for flash objects ***************************************************************/ add_filter('embed_oembed_html', 'my_oembed_wmode', 1); function my_oembed_wmode( $embed ) { if ( strpos( $embed, '<param' ) !== false ) { $embed = str_replace( '<embed', '<embed wmode="transparent" ', $embed ); $embed = preg_replace( '/param>/', 'param><param name="wmode" value="transparent" />', $embed, 1); } return $embed; }
I have had problems in the past where oEmbed Flash objects collide with drop down navigation menus. This filter fixes that problem by adding a transparent window mode to the embeds.
Remove the "comments" column from Admin page list
/*************************************************************** * Function custom_pages_columns * Remove "comments" from pages overview (rarely use comments on pages) ***************************************************************/ add_filter('manage_pages_columns', 'custom_pages_columns'); function custom_pages_columns($defaults) { unset($defaults['comments']); return $defaults; }
I hardly ever make use of commenting on pages and this helps keep things tidy in the WordPress dashboard.
-
- 2010-09-10
숫자 페이지 매김 사용
테스트 대상 : Wordpress 3.0.1
/* Numeric Pagination ********************************************/ function numeric_pagination ($pageCount = 9, $query = null) { if ($query == null) { global $wp_query; $query = $wp_query; } if ($query->max_num_pages <= 1) { return; } $pageStart = 1; $paged = $query->query_vars['paged']; // set current page if on the first page if ($paged == null) { $paged = 1; } // work out if page start is halfway through the current visible pages and if so move it accordingly if ($paged > floor($pageCount / 2)) { $pageStart = $paged - floor($pageCount / 2); } if ($pageStart < 1) { $pageStart = 1; } // make sure page start is if ($pageStart + $pageCount > $query->max_num_pages) { $pageCount = $query->max_num_pages - $pageStart; } ?> <div id="archive_pagination"> <?php if ($paged != 1) { ?> <a href="<?php echo get_pagenum_link(1); ?>" class="numbered page-number-first"><span>‹ <?php _e('<< First', 'global'); ?></span></a> <?php } // first page is not visible... if ($pageStart > 1) { //echo 'previous'; } for ($p = $pageStart; $p <= $pageStart + $pageCount; $p ++) { if ($p == $paged) { ?> <span class="numbered page-number-<?php echo $p; ?> current-numeric-page"><?php echo $p; ?></span> <?php } else { ?> <a href="<?php echo get_pagenum_link($p); ?>" class="numbered page-number-<?php echo $p; ?>"><span><?php echo $p; ?></span></a> <?php } } // last page is not visible if ($pageStart + $pageCount < $query->max_num_pages) { //echo "last"; } if ($paged != $query->max_num_pages) { ?> <a href="<?php echo get_pagenum_link($query->max_num_pages); ?>" class="numbered page-number-last"><span><?php _e('>> Last', 'global'); ?> ›</span></a> <?php } ?> </div>
Enable Numeric Pagination
Tested on: Wordpress 3.0.1
/* Numeric Pagination ********************************************/ function numeric_pagination ($pageCount = 9, $query = null) { if ($query == null) { global $wp_query; $query = $wp_query; } if ($query->max_num_pages <= 1) { return; } $pageStart = 1; $paged = $query->query_vars['paged']; // set current page if on the first page if ($paged == null) { $paged = 1; } // work out if page start is halfway through the current visible pages and if so move it accordingly if ($paged > floor($pageCount / 2)) { $pageStart = $paged - floor($pageCount / 2); } if ($pageStart < 1) { $pageStart = 1; } // make sure page start is if ($pageStart + $pageCount > $query->max_num_pages) { $pageCount = $query->max_num_pages - $pageStart; } ?> <div id="archive_pagination"> <?php if ($paged != 1) { ?> <a href="<?php echo get_pagenum_link(1); ?>" class="numbered page-number-first"><span>‹ <?php _e('<< First', 'global'); ?></span></a> <?php } // first page is not visible... if ($pageStart > 1) { //echo 'previous'; } for ($p = $pageStart; $p <= $pageStart + $pageCount; $p ++) { if ($p == $paged) { ?> <span class="numbered page-number-<?php echo $p; ?> current-numeric-page"><?php echo $p; ?></span> <?php } else { ?> <a href="<?php echo get_pagenum_link($p); ?>" class="numbered page-number-<?php echo $p; ?>"><span><?php echo $p; ?></span></a> <?php } } // last page is not visible if ($pageStart + $pageCount < $query->max_num_pages) { //echo "last"; } if ($paged != $query->max_num_pages) { ?> <a href="<?php echo get_pagenum_link($query->max_num_pages); ?>" class="numbered page-number-last"><span><?php _e('>> Last', 'global'); ?> ›</span></a> <?php } ?> </div>
-
WordPress에는 이미 숫자 페이지 매김을 수행하는 기능이 있습니다. http://codex.wordpress.org/Function_Reference/paginate_links 참조There's a function in WordPress for doing numeric pagination already, see http://codex.wordpress.org/Function_Reference/paginate_links
- 11
- 2010-11-11
- t31os
-
- 2010-09-28
WWW를 제거하여 단축 링크를 더 짧게 만드십시오
테스트 대상 : Wordpress 3.0.1
도메인에
www.
를 포함하는 경우 단축 링크를 짧게 만드십시오. scratch99.com :add_filter('get_shortlink','sjc_alter_shortlink'); function sjc_alter_shortlink($shortlink) { $shortlink = preg_replace('/^(https?:\/\/)?(www\.)/','$1',$shortlink); return $shortlink; }
Make your Shortlinks Shorter by Removing WWW
Tested on: Wordpress 3.0.1
Make your shortlinks shorter if you include
www.
in your domain. Via scratch99.com:add_filter('get_shortlink','sjc_alter_shortlink'); function sjc_alter_shortlink($shortlink) { $shortlink = preg_replace('/^(https?:\/\/)?(www\.)/','$1',$shortlink); return $shortlink; }
-
문자열 "www"를 확인하기 위해 검사를 추가해야합니다.원래 URL의 도메인 부분 맨 처음에있는 경우에만 제거됩니다.URL의 아무 곳이나 순진하게 바꾸면 owww.com과 같은 도메인 (실제로 WordPress를 실행하는 것으로 보임)에서 사용 된 경우 버그가 발생합니다. :)A check should be added to make sure the string "www." is only removed if it is found at the very beginning of the domain part of the original URL. Naively replacing it anywhere in the URL will lead to bugs if it had been used on a domain like owww.com (which actually appears to be running WordPress) :)
- 3
- 2012-05-28
- Ingve
-
@Ingve 나는 그것을 고쳤습니다,이제 초기 www 만 제거합니다.@Ingve I fixed it, now it will remove only the initial www
- 0
- 2014-01-11
- fregante
-
- 2010-11-04
글에 삽입 된 콘텐츠가 있는지 확인합니다.
게시물에 포함 된 콘텐츠가 있는지,현재 게시물의 ID를 사용하여 루프 내에서 작동하는지 확인하거나,또는 삽입 된 콘텐츠를 확인할 게시물을 결정하기 위해 ID를 전달할 수 있습니다.
function has_embed( $post_id = false ) { if( !$post_id ) $post_id = get_the_ID(); else $post_id = absint( $post_id ); if( !$post_id ) return false; $post_meta = get_post_custom_keys( $post_id ); $post_meta = array_map( 'trim' , $post_meta ); foreach( $post_meta as $meta ) { if( '_oembed' != substr( $meta , 0 , 7 ) ) continue; return true; } return false; }
게시물에 태그가 있는지 확인하는 것과 동일한 방식으로 기능을 사용합니다.
if( has_embed() ) { // do whatever }
함수는 삽입이 발견되면true를 반환하고 실패하면false를 반환합니다.
Check if a post has embedded content.
Check if a post has embedded content, works inside the loop using the current post's ID, or alternatively can be passed an ID to determine the post to check for embedded content.
function has_embed( $post_id = false ) { if( !$post_id ) $post_id = get_the_ID(); else $post_id = absint( $post_id ); if( !$post_id ) return false; $post_meta = get_post_custom_keys( $post_id ); $post_meta = array_map( 'trim' , $post_meta ); foreach( $post_meta as $meta ) { if( '_oembed' != substr( $meta , 0 , 7 ) ) continue; return true; } return false; }
You'd use the function in the same way you check if a post has a tag..
if( has_embed() ) { // do whatever }
Function returns true if an embed is found, false on fail.
-
흥미롭지 만 왜 그것을 사용하겠습니까?어떤 종류의 응용 프로그램이 있습니까?Interesting, but I'm wondering, why would you use it? What kind of applications does it have?
- 0
- 2010-12-05
- matt
-
발췌문을 표시하는 페이지에 게시물이 임베드되어 있는지 확인하는 것은 한 번의 사용이 될 것입니다 (그리고 내가 작성한 원래 사용 사례입니다).다른 가능한 사용 사례는 'the_content'또는 수많은 'get_post_custom_keys'호출에 대한 필터없이 게시물 (또는 유형)에 콘텐츠가 포함되었는지 여부에 따라 자체 테마 템플릿을 작성하고 기능을 제공하려는 사용자의 경우입니다.Checking if a post has an embed on a page that displays excerpts would be one use(and it's the original use case i wrote it for). Other possible use cases would be with users who write their own theme templates and want to provide functionality dependant on whether a post(or type) has embedded content, without the need for a filter on `the_content` or numerous `get_post_custom_keys` calls.
- 0
- 2010-12-05
- t31os
-
- 2010-11-14
홈페이지에 다양한 맞춤 게시물 유형의 게시물 표시
이 게시물의 하단에 다음 코드를functions.php 파일에 놓으면 워드 프레스가 생성 한 다양한 사용자 지정 게시물 유형의 게시물을 자동으로 표시 할 수 있습니다. 현재 기본적으로 워드 프레스는 기본 & quot; 게시물 & quot; 포스트 유형.
아래 제공된 예에서 다음을 호출하는 섹션을 변경해야합니다.
$query->set( 'post_type', array('post', 'page', 'services', 'attachment'));
홈페이지 게시물 목록 결과에 포함하려는 사용자 지정 게시물 유형을 사용합니다. 이 경우 기본 & quot;post & quot; 및 & quot; 페이지 & quot;post_type은 우리가 & quot; 서비스 & quot;를 위해 만든 사용자 정의 포스트 유형도 포함하도록 wordpress에 요청합니다. 마지막으로 기본 워드 프레스 포스트 유형 인 & quot; 첨부 파일 & quot; 이는 미디어 라이브러리에 무언가가 추가 될 때마다 자동으로 별도의 항목으로 홈페이지에 표시된다는 것을 의미합니다.
// CUSTOM HOMEPAGE POST LIST INCLUDING DIFFERENT POST_TYPES // make sure to edit the post types you wanted included in the list below add_filter( 'pre_get_posts', 'my_homepage_post_list' ); function my_homepage_post_list ( $query ) { if ( is_home() && false == $query->query_vars['suppress_filters'] ) $query->set( 'post_type', array('post', 'page', 'services', 'attachment')); return $query; }
또한이 맞춤 검색어를 다음과 같은 맞춤 피드와 같은 다른 위치에서 활용할 수도 있습니다.
if (( is_home() && false == $query->query_vars['suppress_filters'] ) || is_feed())
Display Posts from Different Custom Post Types on homepage
By dropping the following code on the bottom of this post into your functions.php file you can get wordpress to automatically display posts from different custom post types you have created. Currently by default wordpress only display posts which belong to the default "posts" post type.
In the example provided below you will need to change the section which calls:
$query->set( 'post_type', array('post', 'page', 'services', 'attachment'));
With your own custom post types which you would like to include in the homepage post list results. In this case we are asking wordpress to return to us all posts belonging to the default "post" and "page" post_type then asking wordpress to also include the custom post type we created for "services" and finally the default wordpress post type of "attachment" which just means that anytime something is added to the media library it will automatically get displayed on the homepage as a separate entry.
// CUSTOM HOMEPAGE POST LIST INCLUDING DIFFERENT POST_TYPES // make sure to edit the post types you wanted included in the list below add_filter( 'pre_get_posts', 'my_homepage_post_list' ); function my_homepage_post_list ( $query ) { if ( is_home() && false == $query->query_vars['suppress_filters'] ) $query->set( 'post_type', array('post', 'page', 'services', 'attachment')); return $query; }
You can also utilize this custom query in different locations, such as in a custom feed through something like this
if (( is_home() && false == $query->query_vars['suppress_filters'] ) || is_feed())
-
- 2010-12-22
기본 필드 연락처 정보 사용자 프로필을 제거하고 더 유용한 정보로 교체
이 기능의 두 번째 부분은 위에서 이미 언급했지만 기본 필드 (AIM,Yahoo IM 및 Jabber/Google Talk)는 아직 제거하지 않았습니다.
function update_contact_methods( $contactmethods ) { // Remove annoying and unwanted default fields unset($contactmethods['aim']); unset($contactmethods['jabber']); unset($contactmethods['yim']); // Add new fields $contactmethods['phone'] = 'Phone'; $contactmethods['mobile'] = 'Mobile'; $contactmethods['address'] = 'Address'; return $contactmethods; } add_filter('user_contactmethods', 'update_contact_methods');
물론 "새 필드 추가"에서 원하는만큼 필드를 추가 할 수 있습니다 (이 스레드 앞부분의 이전 예제 참조).
Remove default fields contact info user profile and replace them with something more usable
The second part of this function has already been mentioned above, but removing the default fields - AIM, Yahoo IM and Jabber/Google Talk - not yet:
function update_contact_methods( $contactmethods ) { // Remove annoying and unwanted default fields unset($contactmethods['aim']); unset($contactmethods['jabber']); unset($contactmethods['yim']); // Add new fields $contactmethods['phone'] = 'Phone'; $contactmethods['mobile'] = 'Mobile'; $contactmethods['address'] = 'Address'; return $contactmethods; } add_filter('user_contactmethods', 'update_contact_methods');
Of course you can add as many fields as you want (see previous examples earlier in this thread) under "Add new fields"
-
- 2011-11-10
게시물 유형 미리 채우기
다음은이 컬렉션을위한 것입니다.
<사전> <코드>////////////////////////////////////////////////////////////////////////////////// //이 자동은 게시물 유형 및 게시물을 채 웁니다. /////////////////////////////////////////////////////////////////////////////////// add_filter ( 'default_content','my_editor_content'); functionmy_editor_content ($ content) { 글로벌 $post_type; switch ($post_type) { case 'your_post_type_here'://자동 채우기 $ content='게시물 유형을 미리 채우려는 콘텐츠.'; 단절; } $ content 반환; }이 기능은 약간의 차이를 제외하고 동일한 정보를 반복해서 게시해야 할 때 유용합니다.
Pre-populating post types
Here is one for this collection.
//////////////////////////////////////////////////////////////////////////////////// // This auto populates post types and posts. /////////////////////////////////////////////////////////////////////////////////// add_filter( 'default_content', 'my_editor_content' ); function my_editor_content( $content ) { global $post_type; switch( $post_type ) { case 'your_post_type_here': //auto populate $content = 'The content you want to pre-populate the post type with.'; break; } return $content; }
This can come in handy for when you need to post the same info over and over again with slight differences.
-
잘 했어!이 간단한 옵션이 마음에 듭니다.사용자 정의 필드 또는 기타 기준/옵션을 자동으로 채우는 방법 또는 미디어를 자동 삽입하는 방법을 표시하여이를 확장 할 수 있습니까?Nice one! I like this simple option. Can you expand this by possible showing ways of automatically populating custom fields or other criteria/options or possibly even the means of auto-inserting media?
- 0
- 2011-11-11
- NetConstructor.com
-
확장에 대해 확실히 알 수 있습니다.나는 아직 더 이상 시도하지 않았습니다.I can definitely see about expanding it. I have not really tried taking it further yet.
- 0
- 2011-11-14
- Nicole
-
이것을 확장하는 방법을보고 싶어요Would love to see ways to expand this
- 0
- 2012-04-11
- JasonDavis
-
- 2010-09-15
Google Analytics 코드 자동 포함
테스트 대상 : Wordpress 3.1 RC3
WordPress 2.3.0 이후 모든 사이트에서이 스크립트를 사용하고 있습니다. 표준 Google 추적 스크립트를 바닥 글에 추가하기 만하면됩니다.
// Add Google Analytics Tracking Code function add_google_analytics() { ?> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-XXXXXXX-X"); pageTracker._trackPageview(); } catch(err) {}</script> <?php } add_action('wp_footer', 'add_google_analytics');
UA-XXXXXXX-X
를 자신의 Google 추적 코드로 바꾸십시오 ...Auto Include Google Analytics Code
Tested on: Wordpress 3.1 RC3
I've been using this script on all of my sites since WordPress 2.3.0 ... it just adds the standard Google tracking scripts to the footer.
// Add Google Analytics Tracking Code function add_google_analytics() { ?> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-XXXXXXX-X"); pageTracker._trackPageview(); } catch(err) {}</script> <?php } add_action('wp_footer', 'add_google_analytics');
Just be sure to replace
UA-XXXXXXX-X
with your own Google tracking code...-
공유해 주셔서 감사합니다.나는 이것도 사용했지만 특정 태그,게시물 유형 페이지 또는 게시물 자체가 캠페인 추적 변수 기능을 사용하여 자동으로 추가 값을 전달할 수 있도록 이것이 수정되는 방법을 알고 있는지 궁금합니다.Google이 제공합니다.또한 관리자 활동을 추적하기 위해 모든 관리자 페이지의 바닥 글에 이것을 추가하려면 무엇을 추가해야합니까?thanks for the share. I have been using this one as well but I would be curious to know if you are aware how this can be modified so that specific tags, post type pages or even posts themself can be passed additional values automatically making use of the campaign tracking var capabilities google provides. Additionally, what would need to be added if we wanted to add this to the footer of all admin pages to track admin activity?
- 0
- 2010-09-17
- NetConstructor.com
-
캠페인 추적 변수를 추가하는 것은 아직 필요하지 않았기 때문에 확실하지 않습니다.그러나 관리자 페이지에 동일한 스크립트를 추가하려면`add_action ( 'admin_footer','add_google_analytics');`를 사용하여 관리자 페이지의 바닥 글에 연결하면됩니다.Not sure about adding campaign tracking variables only because I haven't had a need for that yet. But to add the same scripts to admin pages, you'd just use `add_action('admin_footer', 'add_google_analytics');` to hook on to the footer of admin pages.
- 1
- 2010-09-17
- EAMann
-
- 2010-09-17
정보 및 디버깅을위한 모든 상수 나열
테스트 대상 : Wordpress 3.0.1
로그인 한 사용자 인 경우에만 정보를 표시합니다.
if ( is_user_logged_in() ) { print('<pre>'); print_r( @get_defined_constants() ); print('</pre>'); }
다음은 상수 이름 및 값과 부분적으로 일치하는 선택적 필터가있는 버전입니다.
function constants($filter = false) { $constants = get_defined_constants(); if( $filter ) { $temp = array(); foreach ( $constants as $key => $constant ) if( false !== stripos( $key, $filter ) || false !== stripos( $constant, $filter ) ) $temp[$key] = $constant; $constants = $temp; } ksort( $constants ); var_dump( $constants ); }
List all constants for information and debugging
Tested on: Wordpress 3.0.1
Will only display the information if you are a logged in user
if ( is_user_logged_in() ) { print('<pre>'); print_r( @get_defined_constants() ); print('</pre>'); }
Here is version with optional filter that will partially match constant names and values:
function constants($filter = false) { $constants = get_defined_constants(); if( $filter ) { $temp = array(); foreach ( $constants as $key => $constant ) if( false !== stripos( $key, $filter ) || false !== stripos( $constant, $filter ) ) $temp[$key] = $constant; $constants = $temp; } ksort( $constants ); var_dump( $constants ); }
-
-
새로운 기능이있을 때마다 모든 플러그인이 자동으로 업데이트됩니까?so this automatically updates any/all of your plugins whenever something new is available?
- 0
- 2010-11-05
- NetConstructor.com
-
아니요,코어 또는 플러그인을 로컬로 업데이트하기 위해ftp 로그인이 필요하지 않습니다.Nope, you just don't need a ftp login to update your core or plugins locally
- 0
- 2010-11-09
- Horttcore
-
-
- 2010-12-21
기본 작성자 슬러그 변경
기본 Author Slug를 원하는대로 변경하려면 함수에 입력하세요.
"판매자"를 원하는 슬러그로 변경하십시오.// Change URL Slug from Author to Sellers function new_author_base() { global $wp_rewrite; $author_slug = 'sellers'; $wp_rewrite->author_base = $author_slug; } add_action('init', 'new_author_base');
Change default Author Slug
Put this in your functions to change the default Author Slug to whatever you want,
just change the "sellers" to the slug you want.// Change URL Slug from Author to Sellers function new_author_base() { global $wp_rewrite; $author_slug = 'sellers'; $wp_rewrite->author_base = $author_slug; } add_action('init', 'new_author_base');
-
그러나 모든 페이지로드에서 해당 코드를 실행하고 싶지는 않습니다.You'd not want to run that code on every page load however.
- 4
- 2010-12-21
- t31os
-
예,모든 부하에서 역할을 플러시하면 많은 판매자가 절약됩니다.:) 플러그인 [Edit Author Slug] (http://brandonallen.org/wordpress/plugins/edit-author-slug/)를 사용하는 것이 좋습니다.Yeah, flushing roles on every load saves you a lot of sellers. :) Better use the plugin [Edit Author Slug](http://brandonallen.org/wordpress/plugins/edit-author-slug/).
- 0
- 2010-12-22
- fuxia
-
기능을 업데이트했습니다 !!!입력 해 주셔서 감사합니다 :)I have update the function!!! Thanks for your input:)
- 0
- 2011-01-12
- Philip
-
- 2011-01-02
WYSIYG 편집기에 "다음 페이지"버튼 추가
add_filter('mce_buttons','wysiwyg_editor'); function wysiwyg_editor($mce_buttons) { $pos = array_search('wp_more',$mce_buttons,true); if ($pos !== false) { $tmp_buttons = array_slice($mce_buttons, 0, $pos+1); $tmp_buttons[] = 'wp_page'; $mce_buttons = array_merge($tmp_buttons, array_slice($mce_buttons, $pos+1)); } return $mce_buttons; }
Add "Next-page"-button in WYSIYG-editor
add_filter('mce_buttons','wysiwyg_editor'); function wysiwyg_editor($mce_buttons) { $pos = array_search('wp_more',$mce_buttons,true); if ($pos !== false) { $tmp_buttons = array_slice($mce_buttons, 0, $pos+1); $tmp_buttons[] = 'wp_page'; $mce_buttons = array_merge($tmp_buttons, array_slice($mce_buttons, $pos+1)); } return $mce_buttons; }
-
- 2011-01-04
TinyMCE 편집기에 사용자 정의 스타일 추가
때때로 사용자와 클라이언트는 콘텐츠가 편집기에 표시되는 방식과 프런트 엔드에 표시되는 방식에 대해 혼란스러워합니다.기본 스타일 시트에서 새로운tinymce.css로 관련 줄 몇 줄만 복사하면 많은 도움이 될 수 있습니다.
function custom_mce_css($wp) { return $wp .= ',' . get_bloginfo('stylesheet_directory') . '/css/tinymce.css'; } add_filter( 'mce_css', 'custom_mce_css' );
Add custom styles to TinyMCE editor
Sometimes users and clients get confused about how their content is displayed in the editor versus how it is displayed on the front-end. Copying just a few relevant lines from your main stylesheet into your new tinymce.css can help a lot:
function custom_mce_css($wp) { return $wp .= ',' . get_bloginfo('stylesheet_directory') . '/css/tinymce.css'; } add_filter( 'mce_css', 'custom_mce_css' );
-
좋은.나는 몸 클래스를tinymce에 추가함으로써이 모든 것을 한 단계 더 확장하는 Seamus Leahy의 해결책이 있다는 것을 방금 발견했습니다.http://www.digwp.com/2010/11/actual-wysiwygNice. Ive just discoverd there is a solution by Seamus Leahy that extends all this one step further by adding a body class to tinymce. http://www.digwp.com/2010/11/actual-wysiwyg
- 0
- 2011-01-20
- Michal Mau
-
이것은 이미 코어 및 에디터 스타일에 포함되지 않습니까?Isn't this already covered by core & editor styles?
- 0
- 2011-02-01
- kaiser
-
나는 한 번에 프런트 엔드와 TinyMCE 모두에 대한 스타일 시트를 만드는 것을 선호합니다.그런 다음 add_editor_style () 함수의 핵심 기능을 사용하여 스타일 시트를 포함하고 TinyMCE가로드 될 때로드되는지 확인합니다.http://codex.wordpress.org/Function_Reference/add_editor_style의 코덱스 기사I prefer to create a stylesheet for both front-end and TinyMCE in one go. Then I use core functionality of the add_editor_style() function to include the stylesheet and ensure it's loaded when TinyMCE loads. Codex article at http://codex.wordpress.org/Function_Reference/add_editor_style
- 0
- 2011-09-13
- Philip Downer
-
- 2011-06-08
캡션에figure 및figcaption 사용
테스트 대상 : WordPress 3.1.3
(WP 엔지니어 크레딧 : http://wpengineer.com/917/filter-caption- shortcode-in-wordpress/)
function mytheme_caption( $attr, $content = null ) { $output = apply_filters( 'img_caption_shortcode', '', $attr, $content ); if ( $output != '' ) return $output; extract( shortcode_atts ( array( 'id' => '', 'align' => 'alignnone', 'width'=> '', 'caption' => '' ), $attr ) ); if ( 1 > (int) $width || empty( $caption ) ) return $content; if ( $id ) $id = 'id="' . $id . '" '; return '<figure ' . $id . 'class="wp-caption ' . $align . '" style="width: ' . $width . 'px">' . do_shortcode( $content ) . '<figcaption class="wp-caption-text">' . $caption . '</figcaption></figure>'; } add_shortcode( 'wp_caption', 'mytheme_caption' ); add_shortcode( 'caption', 'mytheme_caption' );
Use figure and figcaption for captions
Tested on: WordPress 3.1.3
(Credits to WP Engineer: http://wpengineer.com/917/filter-caption-shortcode-in-wordpress/)
function mytheme_caption( $attr, $content = null ) { $output = apply_filters( 'img_caption_shortcode', '', $attr, $content ); if ( $output != '' ) return $output; extract( shortcode_atts ( array( 'id' => '', 'align' => 'alignnone', 'width'=> '', 'caption' => '' ), $attr ) ); if ( 1 > (int) $width || empty( $caption ) ) return $content; if ( $id ) $id = 'id="' . $id . '" '; return '<figure ' . $id . 'class="wp-caption ' . $align . '" style="width: ' . $width . 'px">' . do_shortcode( $content ) . '<figcaption class="wp-caption-text">' . $caption . '</figcaption></figure>'; } add_shortcode( 'wp_caption', 'mytheme_caption' ); add_shortcode( 'caption', 'mytheme_caption' );
-
- 2012-01-08
다음은 사용할 수있는 멋진 단축 코드입니다.
<시간>1. 추가하기 쉬운 Twitter 및 Facebook 공유 버튼 단축 코드
function shreplz() { return ' <div class="sharebox"> <div class="twittme"><a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script></div> <div class="shareface"><a name="fb_share"></a> <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div> <br style="clear: left;" /> </div> '; } add_shortcode('sharethis', 'shreplz'); // How to use: [sharethis]
2. WordPress API 단축 코드를 사용한 간편한 원격 사이트 스냅 샷
function wpr_snap($atts, $content = null) { extract(shortcode_atts(array( "snap" => 'http://s.wordpress.com/mshots/v1/', "url" => 'http://www.sagive.co.il', "alt" => 'My image', "w" => '400', // width "h" => '300' // height ), $atts)); $img = '<img src="' . $snap . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>'; return $img; } add_shortcode("snap", "wpr_snap"); // How to use: [snap url="http://www.example.com" alt="Cool Site!" w="300px" h="200px"]
3. 사용하기 쉬움 & amp;iFrame 단축 코드 삽입
function GenerateIframe( $atts ) { extract( shortcode_atts( array( 'href' => 'http://the-url', 'height' => '550px', 'width' => '600px', ), $atts ) ); return '<iframe src="'.$href.'" width="'.$width.'" height="'.$height.'"> <p>Your Browser does not support Iframes.</p></iframe>'; } add_shortcode('iframe', 'GenerateIframe'); // How to use: [iframe href="http://www.exmaple.com" height="480" width="640"]
4. 단축 코드가있는 간편한 원격 파일/문서 포함
function getfile_content( $atts ) { extract( shortcode_atts( array( 'fileurl' => '' ), $atts ) ); if ($fileurl!='') return @file_get_contents($fileurl); } add_shortcode( 'getfile', 'getfile_content' ); // How to use: [getfile fileurl="http://www.exmaple.com/somepage.html"]
. 다음은 댓글 관련 스 니펫입니다.
1. 전역 댓글 기능 종료
function closeCommentsGlobaly($data) { return false; } add_filter('comments_number', 'closeCommentsGlobaly'); add_filter('comments_open', 'closeCommentsGlobaly');
2. 관리자에게 관리자의 의견에 대해 다른 CSS 클래스 제공
if (1 == $comment->user_id) echo 'siteadmin'; // Pick your class here
3. 댓글 데이터 목록이있는 정말 멋진 부자-사용자 정의 잠금 페이지 용gr8
$comments = get_comments( array( 'number' => 10, // How many comments 'status' => 'approve' // Type of comments ) ); foreach($comments as $eachComment){ // Collect the data and assign it $commentID = comment_ID; $commentAuthorEmail = $eachComment->comment_author_email; $commentPostId = $eachComment->comment_post_ID; $commentPostTitle = get_the_title( $commentPostId ); $commentPostUrl = get_permalink( $commentPostId ); $comment_sidebarnumber = get_comments_number( $commentPostId ); global $wpdb; $userCommentCount = $wpdb->get_var('SELECT COUNT('.$commentID.') FROM ' . $wpdb->comments. ' WHERE comment_author_email = "' . $commentAuthorEmail . '"'); echo '<div style="border: 1px solid #ccc; padding: 10px;">'; echo '<ul style="margin: 0px;">'; echo '<li>Name: '. $eachComment->comment_author .'</li>'; echo '<li>Commented about: <a href="'.$commentPostUrl.'">'. $commentPostTitle .'</a></li>'; echo '<li>Commented On: '. $eachComment->comment_date .'</li>'; echo '<li>Commneter Site: '. $eachComment->comment_author_email .'</</li>'; echo '<li>Commenter Email: '. $eachComment->comment_author_email .'</</li>'; echo '<li>This Commenter'. $eachComment->comment_author .' Commented '. $userCommentCount .' on your site</</li>'; echo '</ul>'; echo '<p style="padding: 10px;"><strong>'. $eachComment->comment_author .' wrote</strong>: '. $eachComment->comment_content .'</p>'; echo '</div>'; }
Here are some nice shortcodes for you to use:
1. Easy-to-add Twitter and Facebook share button shortcode
function shreplz() { return ' <div class="sharebox"> <div class="twittme"><a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script></div> <div class="shareface"><a name="fb_share"></a> <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div> <br style="clear: left;" /> </div> '; } add_shortcode('sharethis', 'shreplz'); // How to use: [sharethis]
2. Easy remote site snapshot using WordPress API shortcode
function wpr_snap($atts, $content = null) { extract(shortcode_atts(array( "snap" => 'http://s.wordpress.com/mshots/v1/', "url" => 'http://www.sagive.co.il', "alt" => 'My image', "w" => '400', // width "h" => '300' // height ), $atts)); $img = '<img src="' . $snap . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>'; return $img; } add_shortcode("snap", "wpr_snap"); // How to use: [snap url="http://www.example.com" alt="Cool Site!" w="300px" h="200px"]
3. Easy to use & embed iFrame shortcode
function GenerateIframe( $atts ) { extract( shortcode_atts( array( 'href' => 'http://the-url', 'height' => '550px', 'width' => '600px', ), $atts ) ); return '<iframe src="'.$href.'" width="'.$width.'" height="'.$height.'"> <p>Your Browser does not support Iframes.</p></iframe>'; } add_shortcode('iframe', 'GenerateIframe'); // How to use: [iframe href="http://www.exmaple.com" height="480" width="640"]
4. Easy-to-include remote file / doc with shortcode
function getfile_content( $atts ) { extract( shortcode_atts( array( 'fileurl' => '' ), $atts ) ); if ($fileurl!='') return @file_get_contents($fileurl); } add_shortcode( 'getfile', 'getfile_content' ); // How to use: [getfile fileurl="http://www.exmaple.com/somepage.html"]
. Here are some comments related snippets:
1. Close the ability to comment globally
function closeCommentsGlobaly($data) { return false; } add_filter('comments_number', 'closeCommentsGlobaly'); add_filter('comments_open', 'closeCommentsGlobaly');
2. Give the administrator a different CSS class for the administrator's comments
if (1 == $comment->user_id) echo 'siteadmin'; // Pick your class here
3. A really cool rich with a data list of comments - gr8 for custom locked page
$comments = get_comments( array( 'number' => 10, // How many comments 'status' => 'approve' // Type of comments ) ); foreach($comments as $eachComment){ // Collect the data and assign it $commentID = comment_ID; $commentAuthorEmail = $eachComment->comment_author_email; $commentPostId = $eachComment->comment_post_ID; $commentPostTitle = get_the_title( $commentPostId ); $commentPostUrl = get_permalink( $commentPostId ); $comment_sidebarnumber = get_comments_number( $commentPostId ); global $wpdb; $userCommentCount = $wpdb->get_var('SELECT COUNT('.$commentID.') FROM ' . $wpdb->comments. ' WHERE comment_author_email = "' . $commentAuthorEmail . '"'); echo '<div style="border: 1px solid #ccc; padding: 10px;">'; echo '<ul style="margin: 0px;">'; echo '<li>Name: '. $eachComment->comment_author .'</li>'; echo '<li>Commented about: <a href="'.$commentPostUrl.'">'. $commentPostTitle .'</a></li>'; echo '<li>Commented On: '. $eachComment->comment_date .'</li>'; echo '<li>Commneter Site: '. $eachComment->comment_author_email .'</</li>'; echo '<li>Commenter Email: '. $eachComment->comment_author_email .'</</li>'; echo '<li>This Commenter'. $eachComment->comment_author .' Commented '. $userCommentCount .' on your site</</li>'; echo '</ul>'; echo '<p style="padding: 10px;"><strong>'. $eachComment->comment_author .' wrote</strong>: '. $eachComment->comment_content .'</p>'; echo '</div>'; }
-
- 2010-12-18
맞춤 분류에 대한 조건부 태그 만들기
이 예에서 'student'는 맞춤 게시물 유형이고 'stud_cat'은 맞춤 분류입니다.조건부
에has_student(null)
사용function has_student( $student, $_post = null ) { if ( !empty( $student ) ) return false; if ( $_post ) $_post = get_post( $_post ); else $_post =& $GLOBALS['post']; if ( !$_post ) return false; $r = is_object_in_term( $_post->ID, 'studcat', $student ); if ( is_wp_error( $r ) ) return false; return $r; }
Create a conditional tag for custom taxonomies
In this example, 'student' was a custom post type, and 'stud_cat' was the custom taxonomy. Use
has_student(null)
for the conditionalfunction has_student( $student, $_post = null ) { if ( !empty( $student ) ) return false; if ( $_post ) $_post = get_post( $_post ); else $_post =& $GLOBALS['post']; if ( !$_post ) return false; $r = is_object_in_term( $_post->ID, 'studcat', $student ); if ( is_wp_error( $r ) ) return false; return $r; }
-
3.1이 출시되었으므로 이것이 [`has_term ()`] (http://codex.wordpress.org/Function_Reference/has_term)으로 대체되는 것 같습니다.I think this gets replaced with [`has_term()`](http://codex.wordpress.org/Function_Reference/has_term) now that 3.1 is released?
- 1
- 2011-02-25
- Rarst
-
- 2010-12-28
WordPress 편집기에서iFrame 허용
<프리> //TinyMCE가iframe을 허용하도록합니다. add_filter ( 'tiny_mce_before_init',create_function ( '$ a', '$ a [ "extended_valid_elements"]="iframe [id| class| title| style| align| frameborder| height| longdesc| marginheight| marginwidth| name| scrolling| src| width]";return $ a; '));Make WordPress Editor Allow iFrames
// make TinyMCE allow iframes add_filter('tiny_mce_before_init', create_function( '$a', '$a["extended_valid_elements"] = "iframe[id|class|title|style|align|frameborder|height|longdesc|marginheight|marginwidth|name|scrolling|src|width]"; return $a;') );
-
- 2011-02-10
업로드시 큰 이미지 크기 조정
미디어 설정에서 큰 크기에 따라 이미지 크기가 조정됩니다.
/**resize on upload to the largest size in media setting */ function replace_uploaded_image($image_data) { // if there is no large image : return if (!isset($image_data['sizes']['large'])) return $image_data; // path to the uploaded image and the large image $upload_dir = wp_upload_dir(); $uploaded_image_location = $upload_dir['basedir'] . '/' .$image_data['file']; $large_image_location = $upload_dir['path'] . '/'.$image_data['sizes']['large']['file']; // delete the uploaded image unlink($uploaded_image_location); // rename the large image rename($large_image_location,$uploaded_image_location); // update image metadata and return them $image_data['width'] = $image_data['sizes']['large']['width']; $image_data['height'] = $image_data['sizes']['large']['height']; unset($image_data['sizes']['large']); return $image_data; } add_filter('wp_generate_attachment_metadata','replace_uploaded_image');
Resize large image on upload
Image will be resize according to the large size in your media settings.
/**resize on upload to the largest size in media setting */ function replace_uploaded_image($image_data) { // if there is no large image : return if (!isset($image_data['sizes']['large'])) return $image_data; // path to the uploaded image and the large image $upload_dir = wp_upload_dir(); $uploaded_image_location = $upload_dir['basedir'] . '/' .$image_data['file']; $large_image_location = $upload_dir['path'] . '/'.$image_data['sizes']['large']['file']; // delete the uploaded image unlink($uploaded_image_location); // rename the large image rename($large_image_location,$uploaded_image_location); // update image metadata and return them $image_data['width'] = $image_data['sizes']['large']['width']; $image_data['height'] = $image_data['sizes']['large']['height']; unset($image_data['sizes']['large']); return $image_data; } add_filter('wp_generate_attachment_metadata','replace_uploaded_image');
-
이것은 업로드 된 원본 대용량 파일이 실제로 대체된다는 것을 의미합니까?내 PHP는 좋지 않지만 대답은 '예'인 것 같습니다.Does this mean that the original large file uploaded is actually replaced? My php is not great, but the answer seems to be yes?
- 0
- 2011-02-20
- davemac
-
@davemac 나는 이것이 매우 오래되었다는 것을 알고 있지만 코드에 대해 이해 한 바에 따르면 원본 이미지 파일은 WordPress 설정 화면에 설정된 '대형'이미지 크기와 동일한 크기로 조정됩니다.위대하지만 같은 크기의 이미지 2 개로 끝납니다.원본 이미지를 사이트에서 현실적으로 사용할 수있는 가장 큰 파일만큼만 크게 만들려면 값을 수동으로 설정하는 것이 좋습니다.그러면 나중에 작업 할 거의 원본 이미지가 있습니다.@davemac I realise this is very old now, but from what I understand of the code, the original image file is resized to the same dimensions as the 'large' image size set in the WordPress settings screen. Which is great but then you just end up with 2 images of the same size. I'd suggest manually setting the values to make the original image only as big as the largest file you will ever realistically use on your site. Then you have an almost original image to work with in future.
- 0
- 2016-11-25
- Phill Healey
-
- 2011-09-14
간단한 WordPress 보안 수정
모호함을 통한 보안은 여기서 게임의 이름입니다. 이 함수는 세 가지 작업을 수행합니다.
- 코드에서 버전 문자열을 제거합니다. 사람들에게 우리가 실행중인 버전을 말할 필요가 없습니다.
- 관리자 로그인 화면에서 오류 메시지 (잘못된 비밀번호,해당 사용자 없음 등)를 제거합니다.
-
관리자가 댓글을 게시하면 CSS 클래스가 추가됩니다. 댓글에서 관리자 이름이 제거됩니다.
//REMOVE VERSION STRING FROM HEADER remove_action('wp_head', 'wp_generator'); //HIDE LOGIN ERROR MESSAGES (Wrong Password, No Such User etc.) add_filter('login_errors',create_function('$a', "return null;")); // Remove admin name in comments class // Source: http://www.wprecipes.com/wordpress-hack-remove-admin-name-in-comments-class function remove_comment_author_class( $classes ) { foreach( $classes as $key => $class ) { if(strstr($class, "comment-author-")) { unset( $classes[$key] ); } } return $classes; } add_filter( 'comment_class' , 'remove_comment_author_class' );
Easy WordPress Security Fixes
Security through obscurity is the name of the game here. These functions do three different things.
- Remove the version string from the code. No point in telling folks what version we're running.
- Removes any error messages (Wrong Password, No Such User, etc.) from admin login screens
When the admin posts a comment, a CSS class is added. This removes the admin name in comments.
//REMOVE VERSION STRING FROM HEADER remove_action('wp_head', 'wp_generator'); //HIDE LOGIN ERROR MESSAGES (Wrong Password, No Such User etc.) add_filter('login_errors',create_function('$a', "return null;")); // Remove admin name in comments class // Source: http://www.wprecipes.com/wordpress-hack-remove-admin-name-in-comments-class function remove_comment_author_class( $classes ) { foreach( $classes as $key => $class ) { if(strstr($class, "comment-author-")) { unset( $classes[$key] ); } } return $classes; } add_filter( 'comment_class' , 'remove_comment_author_class' );
-
Wordpress 버전 번호를 제거하는 것은 나쁜 습관입니다.항상 최신 보안 수정으로 Wordpress를 업데이트하는 것이 훨씬 안전합니다.추가 된 보너스 : 워너비 스크립트 키디가 이전 버전으로 이동합니다.Removing the Wordpress version number is bad practice. It is much safer to keep your Wordpress updated with the latest security fixes AT ALL TIMES. Added bonus: wanna-be script kiddies will move along to older versions.
- 0
- 2014-01-12
- knutole
-
@knotole,나쁜 습관이 아닙니다.그것은 당신의 의견입니다 ... 비록 이것은 꽤 표준이긴하지만.@knotole, it is not bad practice. It is your opinion... albeit this is pretty standard.
- 2
- 2014-10-20
- Jeremy
-
- 2011-09-14
기본 Gravatar를 맞춤 이미지로 교체
맞춤 설정하려면 기본 이미지의 경로 만 있으면됩니다.
function custom_gravatar($avatar_defaults) { $logo = get_bloginfo('template_directory') . '/images/icons/gravatar_logo.jpg'; //Change to whatever path you like. $avatar_defaults[$logo] = get_bloginfo('name'); return $avatar_defaults; }//END FUNCTION add_filter( 'avatar_defaults', 'custom_gravatar' );
Replace Default Gravatar with Custom Image
All you'll need to customize is the path to your default image.
function custom_gravatar($avatar_defaults) { $logo = get_bloginfo('template_directory') . '/images/icons/gravatar_logo.jpg'; //Change to whatever path you like. $avatar_defaults[$logo] = get_bloginfo('name'); return $avatar_defaults; }//END FUNCTION add_filter( 'avatar_defaults', 'custom_gravatar' );
-
- 2011-10-13
포함되는 템플릿 파일 표시
페이지를 렌더링 할 때 포함되는 템플릿 파일 및get_template_part 파일과 함께 인라인 주석을 표시합니다.멀티 파트 템플릿 문제 해결에 편리합니다.
add_action('all','template_snoop'); function template_snoop(){ $args = func_get_args(); if( !is_admin() and $args[0] ){ if( $args[0] == 'template_include' ) { echo "<!-- Base Template: {$args[1]} -->\n"; } elseif( strpos($args[0],'get_template_part_') === 0 ) { global $last_template_snoop; if( $last_template_snoop ) echo "\n\n<!-- End Template Part: {$last_template_snoop} -->"; $tpl = rtrim(join('-', array_slice($args,1)),'-').'.php'; echo "\n<!-- Template Part: {$tpl} -->\n\n"; $last_template_snoop = $tpl; } } }
Show template files being included
Display inline comment with Template File and get_template_part files being included when rendering pages. Handy for troubleshooting multipart templates.
add_action('all','template_snoop'); function template_snoop(){ $args = func_get_args(); if( !is_admin() and $args[0] ){ if( $args[0] == 'template_include' ) { echo "<!-- Base Template: {$args[1]} -->\n"; } elseif( strpos($args[0],'get_template_part_') === 0 ) { global $last_template_snoop; if( $last_template_snoop ) echo "\n\n<!-- End Template Part: {$last_template_snoop} -->"; $tpl = rtrim(join('-', array_slice($args,1)),'-').'.php'; echo "\n<!-- Template Part: {$tpl} -->\n\n"; $last_template_snoop = $tpl; } } }
-
- 2011-12-04
테마 활성화시 자동으로 새 페이지 만들기
if (isset($_GET['activated']) && is_admin()){ $new_page_title = 'This is the page title'; $new_page_content = 'This is the page content'; $new_page_template = ''; //ex. template-custom.php. Leave blank if you don't want a custom page template. //don't edit under this line $page_check = get_page_by_title($new_page_title); $new_page = array( 'post_type' => 'page', 'post_title' => $new_page_title, 'post_content' => $new_page_content, 'post_status' => 'publish', 'post_author' => 1, ); if(!isset($page_check->ID)){ $new_page_id = wp_insert_post($new_page); if(!empty($new_page_template)){ update_post_meta($new_page_id,'_wp_page_template', $new_page_template); } }
Automatically create a new page upon activating a theme
if (isset($_GET['activated']) && is_admin()){ $new_page_title = 'This is the page title'; $new_page_content = 'This is the page content'; $new_page_template = ''; //ex. template-custom.php. Leave blank if you don't want a custom page template. //don't edit under this line $page_check = get_page_by_title($new_page_title); $new_page = array( 'post_type' => 'page', 'post_title' => $new_page_title, 'post_content' => $new_page_content, 'post_status' => 'publish', 'post_author' => 1, ); if(!isset($page_check->ID)){ $new_page_id = wp_insert_post($new_page); if(!empty($new_page_template)){ update_post_meta($new_page_id,'_wp_page_template', $new_page_template); } }
-
- 2010-09-17
모든 하위 카테고리 나열
테스트 대상 : Wordpress 3.0.1
$echo = '<ul>' . "\n"; $childcats = get_categories('child_of=' . $cat . '&hide_empty=1'); foreach ($childcats as $childcat) { if (1 == $childcat->category_parent) { $echo .= "\t" . '<li><a href="' . get_category_link($childcat->cat_ID).'" title="' . $childcat->category_description . '">'; $echo .= $childcat->cat_name . '</a>'; $echo .= '</li>' . "\n"; } } $echo .= '</ul>' . "\n"; echo $echo;
또한 여기에 http://wpengineer.com/게시물의 추가 정보와 기능이 있습니다.2025/list-all-subcategories/
List all SubCategories
Tested on: Wordpress 3.0.1
$echo = '<ul>' . "\n"; $childcats = get_categories('child_of=' . $cat . '&hide_empty=1'); foreach ($childcats as $childcat) { if (1 == $childcat->category_parent) { $echo .= "\t" . '<li><a href="' . get_category_link($childcat->cat_ID).'" title="' . $childcat->category_description . '">'; $echo .= $childcat->cat_name . '</a>'; $echo .= '</li>' . "\n"; } } $echo .= '</ul>' . "\n"; echo $echo;
also here, more informations and functins in the post http://wpengineer.com/2025/list-all-subcategories/
-
카테고리 목록을 표시하기 위해 특별히 사용할 수있는 기능이 있는데 왜 이렇게 하시겠습니까? http://codex.wordpress.org/Template_Tags/wp_list_categories#Only_Show_Children_of_a_Category 참조Why would you do this when there's a function available specifically for displaying a list of categories..See: http://codex.wordpress.org/Template_Tags/wp_list_categories#Only_Show_Children_of_a_Category
- 1
- 2010-11-11
- t31os
-
- 2010-11-09
특정 카테고리의 하위 카테고리를 제외합니다.
아주 간단하지만 필요한 일을 정확히하는 사람을 찾을 수 없었습니다.또한 상위 카테고리가 선택된 경우 해당 게시물에 해당 상위 카테고리가 선택된 경우를 제외하고 게시물을 표시합니다.
/* this code excludes all of the children of (category id = 20) posts on the HOME page, but allows parent (category id = 20) to be shown. */ function exclude_category_children($query) { $child_cats = (array) get_term_children('20', 'category'); if ( $query->is_home ) { $query->set('category__not_in', $child_cats); return $query; } } add_filter('pre_get_posts', 'exclude_category_children');
Exclude child categories of a specific category.
Pretty straight forward, but I couldn't find anyone doing exactly what I needed. Also it will display the post if the parent category is selected, except if that post has a child category of that parent selected.
/* this code excludes all of the children of (category id = 20) posts on the HOME page, but allows parent (category id = 20) to be shown. */ function exclude_category_children($query) { $child_cats = (array) get_term_children('20', 'category'); if ( $query->is_home ) { $query->set('category__not_in', $child_cats); return $query; } } add_filter('pre_get_posts', 'exclude_category_children');
-
- 2010-12-02
계층 하위 항목 확인 조건
현재 페이지가 지정된 ID의 하위 항목인지 확인하는 조건부 함수입니다.페이지가 계층 구조 트리 아래의 손자,증손자 또는 아버지인지 확인하는 데 유용합니다.
function is_tree($pid) { // $pid = The ID of the page we're looking for pages underneath global $post; // load details about this page $anc = get_post_ancestors( $post->ID ); foreach($anc as $ancestor) { if(is_page() && $ancestor == $pid) { return true; } } if(is_page()&&(is_page($pid))) return true; // we're at the page or at a sub page else return false; // we're elsewhere };
Conditional to check for hierarchy descendant
A conditional function to check if the current page is a descendant of the ID given to it. Useful for determining if a page is a grandchild, great-grandchild or father down the hierarchy tree.
function is_tree($pid) { // $pid = The ID of the page we're looking for pages underneath global $post; // load details about this page $anc = get_post_ancestors( $post->ID ); foreach($anc as $ancestor) { if(is_page() && $ancestor == $pid) { return true; } } if(is_page()&&(is_page($pid))) return true; // we're at the page or at a sub page else return false; // we're elsewhere };
-
나는 이것을 잠시 찾고 있었다.함께 해주셔서 감사합니다!사용 사례에 대해 약간의 설명을 요청할 수 있습니까?이상적으로는 내 메뉴 목록에서 이것을 사용하여 사이트 상단에 Gen 1 요소 만 표시하는 최상위 상위 메뉴가있는 경우에 사용하고 싶습니다.Gen 2-3 요소에있을 때 Gen1 요소는 "current-parent"css 속성을 통해 강조 표시 될 수 있습니다.이것이 가능한가?I've been looking for this for awhile. Thanks for putting it together! Can I ask for a bit of clarification on use case. Ideally, I would like to use this in my menu listings so that if i have a top level parent menu across the top of the site that only shows Gen 1 elements. When I'm on a Gen 2-3 element, the Gen1 element can be highlighted via a "current-parent" css attribute. Is this possible?
- 0
- 2011-02-11
- Scott B
-
- 2011-06-13
사용자 # 1 (일반적으로 첫 번째 관리자)을 제외한 모든 사용자의 관리자 백엔드 메뉴 제거
<사전> <코드>/* ----------------------------------------------------------------------------------- */ /* 액세스 제한 /* ----------------------------------------------------------------------------------- */ function remove_menus () { 글로벌 $menu; $ user=wp_get_current_user (); if ($ user- > ID!=1) {//관리자가 아님, $ restricted=array (__ ( 'Dashboard'),__ ( 'Posts'),__ ( 'Media'),__ ( 'Links'),__ ( 'Pages'),__ ( 'Appearance'),__ ( 'Tools '),__ ('Users '),__ ('Settings '),__ ('Comments '),__ ('Plugins ')); 종료 ($menu); while (prev ($menu)) { $ value=explode ( '',$menu [key ($menu)] [0]); if (in_array ($ value [0]!=NULL? $ value [0] : "",$ restricted)) {unset ($menu [key ($menu)]);} } } } add_action ( 'admin_menu','remove_menus');Remove Admin Backend Menus for all users, except User #1 (usually the first Admin)
/*-----------------------------------------------------------------------------------*/ /* Restrict access /*-----------------------------------------------------------------------------------*/ function remove_menus () { global $menu; $user = wp_get_current_user(); if ($user->ID!=1) { // Is not administrator, $restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins')); end ($menu); while (prev($menu)){ $value = explode(' ',$menu[key($menu)][0]); if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);} } } } add_action('admin_menu', 'remove_menus');
-
사용자 1이 첫 번째 관리자 일 수 있습니다.그러나 새 관리자를 추가 한 후 첫 번째 관리자는 일반 사용자 일 수 있습니다.** 숫자가 아닌 기능을 요청하세요. ** 또한이 코드는functions.php가 아닌 플러그인에 속합니다.주제와 관련이 없습니다.User 1 may be the first admin. But after adding new administrators the first one may be just a regular user. **Ask for capabilities, not for numbers.** Plus, this code belongs into a plugin, not in the functions.php. There is zero relation to the theme.
- 0
- 2011-06-13
- fuxia
-
이렇게하면 모든 관리자가 정상적으로 작동하도록 허용하지만 동시에 첫 번째 관리자를 숨기고 시스템 관리자/지원 팀에 예약 할 수 있습니다.이 코드가 플러그인에 속한다는 데 동의하지 않습니다.Functions.php는 플러그인입니다.`이 파일은 기본적으로 플러그인처럼 작동합니다`[Theme_Development # Functions_File] (http://codex.wordpress.org/Theme_Development#Functions_File)This way you can allow all admins to act as normal but at the same time hide the first admin and reserve it to system administrator / support team. I disagree that this code belongs to a plugin. Functions.php is a plugin. `This file basically acts like a plugin` [Theme_Development#Functions_File](http://codex.wordpress.org/Theme_Development#Functions_File)
- 0
- 2011-06-13
- Daniel Sachs
-
그러나functions.php에는 테마와 관련된 로직이 포함되어 있습니다. 테마를 전환하면 전체 코드가 사라지기 때문입니다.따라서 코드가 테마에 의존하지 않고 그 반대의 경우가 아니라면functions.php를mu-plugin으로 사용하지 마십시오.But the functions.php contains logic which is tied to the theme, because if you switch themes the whole code is gone. So, unless the code depends on the theme and vice versa – do not use the functions.php as a mu-plugin.
- 0
- 2011-06-13
- fuxia
-
예.그러나 이것을 생각해 봅시다 : 당신은 클라이언트를위한 웹 사이트를 개발하고 있습니다.이 웹 사이트는 항상 디자이너가 디자인 한 하나의 테마 만 사용합니다.테마는 웹 사이트입니다.사용자 지정 게시물 유형,메타 박스,추가 기능로드 등을 추가합니다. 이제 일부 사용자에게 관리 기능을 제공하고 싶지만 클라이언트가 사용하거나 혼동하지 않는 사이트의 일부 섹션 (링크,도구,설명이 가장 좋은 예입니다. 지원 팀에 일종의 "SuperAdmin"을 제공하여 전체 관리 영역을 볼 수 있도록합니다.Yes. But let's consider this: You are developing a website for a client. This website will always use only one theme, the one designed by the designer. The theme **is** the website. You add custom post types, metaboxes, load additional functions, etc. Now you do want to give some users the admin capabilities, but you want to hide some sections of the site that your client will never use or confuse them (Links, Tools, Comments, are the best examples) and to give the support team a sort of "SuperAdmin" so they can see the whole admin area.
- 0
- 2011-06-13
- Daniel Sachs
-
나는 당신이 사용법에 동의하지 않지만 기능이 작동하고 유용하다는 것을 알기 때문에 왜 -1인지 이해하지 못합니다.I see that you disagree with the usage, but the function works and is useful, so I do not understand why -1 it.
- 0
- 2011-06-13
- Daniel Sachs
-
안타깝게도 여기에있는 많은 답변처럼functions.php에 속하지 않으며 조만간 중단 될 것입니다.그 외에도 WordPress 코딩 표준을 위반합니다.제발 개인적으로 받아들이지 마세요내 투표는 독자를위한 추천입니다.It doesn’t belong into a functions.php – like many answers here, unfortunately – and it **will** break sooner or later. Besides that, it violates the WordPress coding standards. Please, don’t take it personally. My vote is a recommendation for the reader.
- 0
- 2011-06-13
- fuxia
-
물론 개인적인 것은 아닙니다.우리는 모두 돕고 배우려고 노력합니다.우리는 동의하지 않습니다.Of course, nothing personal, tosco. We all try to help and learn. We disagree, it happens :)
- 0
- 2011-06-13
- Daniel Sachs
-
@Daniel Sachs [thisgist] (https://gist.github.com/942518)를 살펴보고`user_login`을`role` (?)과 교환하세요.@Daniel Sachs Take a look at [this gist](https://gist.github.com/942518) and exchange `user_login` with `role`(?).
- 0
- 2011-06-13
- kaiser
-
@kaiser 플러그인으로 사용하거나 모든 관리자를위한 메뉴 설정을 해제하고 싶을 때 좋습니다.내가 말했듯이 이것은 ID1을 가진 한 명의 특정 사용자에 대해서만 설정을 해제 할 수 있습니다.@kaiser This is great, if I wanted to use it as a plugin or unset menus for all admins. As i said, this allows to unset for just one specific user with ID1
- 0
- 2011-06-13
- Daniel Sachs
-
연결된 플러그인을 보면 "사용자가 제공하는 모든 것 (로그인 이름,역할,ID)"별로 액세스 그룹을 설정할 수 있습니다.ID에 의존하는 것은 일반적으로 "모범 사례가 아님"개념입니다.그게 제가 지적하고 싶은 전부입니다.If you look at the linked plugin, then it allows you to set access groups per "whatever a user offers (login name, role, ID)". Relying on IDs generally is a "not best practice" concept. That's all i wanted to point out.
- 1
- 2011-06-13
- kaiser
-
- 2011-08-19
Wordpress 3.2에서 브라우저 업그레이드 경고 비활성화
//Disable browser upgrade warning in wordpress 3.2 function disable_browser_upgrade_warning() { remove_meta_box( 'dashboard_browser_nag', 'dashboard', 'normal' ); } add_action( 'wp_dashboard_setup', 'disable_browser_upgrade_warning' );
Disable browser upgrade warning in wordpress 3.2
//Disable browser upgrade warning in wordpress 3.2 function disable_browser_upgrade_warning() { remove_meta_box( 'dashboard_browser_nag', 'dashboard', 'normal' ); } add_action( 'wp_dashboard_setup', 'disable_browser_upgrade_warning' );
-
- 2011-10-14
is_tree () 조건부 함수
/* Adapted from csstricks with addition of ancestors .... use = if(is_tree($id)) { // do stuff } ... Returns true if the page is = $id OR any of it's children OR descendants */ function is_tree($pid) { // $pid = The ID of the page we're looking for pages underneath global $post; // load details about this page $ancestors = get_post_ancestors($post); if(is_page()&&($post->post_parent==$pid||is_page($pid)||(in_array($pid,$ancestors)))) return true; // we're at the page or at a sub page else return false; // we're elsewhere };
is_tree() conditional Function
/* Adapted from csstricks with addition of ancestors .... use = if(is_tree($id)) { // do stuff } ... Returns true if the page is = $id OR any of it's children OR descendants */ function is_tree($pid) { // $pid = The ID of the page we're looking for pages underneath global $post; // load details about this page $ancestors = get_post_ancestors($post); if(is_page()&&($post->post_parent==$pid||is_page($pid)||(in_array($pid,$ancestors)))) return true; // we're at the page or at a sub page else return false; // we're elsewhere };
-
- 2011-12-04
플러그인없이 가장 많은 댓글을 제출 한 사용자 표시
function top_comment_authors($amount = 5) { global $wpdb; $results = $wpdb->get_results(' SELECT COUNT(comment_author_email) AS comments_count, comment_author_email, comment_author, comment_author_url FROM '.$wpdb->comments.' WHERE comment_author_email != "" AND comment_type = "" AND comment_approved = 1 GROUP BY comment_author_email ORDER BY comments_count DESC, comment_author ASC LIMIT '.$amount ); $output = "<ul>"; foreach($results as $result) { $output .= "<li>".$result->comment_author."</li>"; } $output .= "</ul>"; echo $output; }
전화 할 수있는 기타 옵션 : $ result-> comment_author_email $ result-> comments_count $ result-> comment_author_url
Display the users that have submitted the most comments without a plugin
function top_comment_authors($amount = 5) { global $wpdb; $results = $wpdb->get_results(' SELECT COUNT(comment_author_email) AS comments_count, comment_author_email, comment_author, comment_author_url FROM '.$wpdb->comments.' WHERE comment_author_email != "" AND comment_type = "" AND comment_approved = 1 GROUP BY comment_author_email ORDER BY comments_count DESC, comment_author ASC LIMIT '.$amount ); $output = "<ul>"; foreach($results as $result) { $output .= "<li>".$result->comment_author."</li>"; } $output .= "</ul>"; echo $output; }
Other options you can call: $result->comment_author_email $result->comments_count $result->comment_author_url
-
- 2010-09-13
가능할 때마다 사용자 실제 IP 주소 확보
테스트 대상 : Wordpress 3.0.1
프록시 또는로드 밸런서를 사용하는 경우이를 wp-config.php 파일 또는functions.php에 추가
// Gets the user's real IP address $_SERVER['REMOTE_ADDR'] = getRealIpAddress(); function getRealIpAddress( $validate = true ) { if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) { $ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $ip = trim($ips[count($ips) - 1]); } elseif ( isset($_SERVER['HTTP_X_REAL_IP']) && !empty($_SERVER['HTTP_X_REAL_IP']) ) { $ip = $_SERVER['HTTP_X_REAL_IP']; } elseif ( isset($_SERVER['HTTP_CLIENT_IP']) && !empty($_SERVER['HTTP_CLIENT_IP']) ) { $ip = $_SERVER['HTTP_CLIENT_IP']; } else { $ip = $_SERVER['REMOTE_ADDR']; } if ( $validate && function_exists('filter_var') && filter_var($ip, FILTER_VALIDATE_IP, array('flags' => FILTER_FLAG_IPV4, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE)) ) return $ip; elseif ( $validate ) return long2ip(ip2long($ip)); return $ip; }
Get the Users Real IP Address whenever possible
Tested on: Wordpress 3.0.1
If you're using a proxy or load balancer, adding this to your wp-config.php file or functions.php
// Gets the user's real IP address $_SERVER['REMOTE_ADDR'] = getRealIpAddress(); function getRealIpAddress( $validate = true ) { if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) { $ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $ip = trim($ips[count($ips) - 1]); } elseif ( isset($_SERVER['HTTP_X_REAL_IP']) && !empty($_SERVER['HTTP_X_REAL_IP']) ) { $ip = $_SERVER['HTTP_X_REAL_IP']; } elseif ( isset($_SERVER['HTTP_CLIENT_IP']) && !empty($_SERVER['HTTP_CLIENT_IP']) ) { $ip = $_SERVER['HTTP_CLIENT_IP']; } else { $ip = $_SERVER['REMOTE_ADDR']; } if ( $validate && function_exists('filter_var') && filter_var($ip, FILTER_VALIDATE_IP, array('flags' => FILTER_FLAG_IPV4, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE)) ) return $ip; elseif ( $validate ) return long2ip(ip2long($ip)); return $ip; }
-
이것이 정확히 무엇을합니까?what does this do exactly?
- 1
- 2010-09-14
- NetConstructor.com
-
사용자가 프록시 또는로드 밸런서 뒤에있는 경우 수퍼 글로벌 $ _SERVER [ 'REMOTE_ADDR']를 사용하여 해당 사용자의 IP 주소를 가져 오는 모든 항목은 프록시 또는로드 밸런서의 IP 주소를 보게됩니다.대가로proxy/lb는 사용자의 원래 IP 주소를 X-Forwarded-For X-Real-Ip 또는 Client-Ip 헤더 (proxy/lb 구성에 따라 다름)에 넣습니다.따라서 댓글을 달거나 게시 할 때 WP는 동일한 IP 주소에서 오는 많은 사용자를 보게됩니다.이것은 $ _SERVER [ 'REMOTE_ADDR']를 원래 IP로 대체하여이를 수정합니다.When a user is behind a proxy or load balancer, then anything that grabs that user's IP address using the superglobal $_SERVER['REMOTE_ADDR'] will see the proxy or load balancer's IP address. The proxy/lb in return puts the user's original IP address in the X-Forwarded-For X-Real-Ip, or Client-Ip headers (depending on the proxy/lb configuration). Thus, when commenting (or posting, but that's less relevant) WP will see a lot of users coming from the same IP address. This fixes that by replacing $_SERVER['REMOTE_ADDR'] with the original IP.
- 0
- 2010-09-19
- gabrielk
-
HTTP_X_FORWARDED_FOR 헤더를 각 브라우저 요청에 수동으로 추가하여 속이기 쉽습니다.제가 가장 좋아하는 것은 127.0.0.1을 설정하는 것입니다. 그러면 $ _SERVER [ 'REMOVE_ADDR']이 해당 예제와 함께 빈 값으로 설정됩니다.Those are easy to trick by adding the HTTP_X_FORWARDED_FOR header manually into each browser request. My favorite is to set it 127.0.0.1 which will then set $_SERVER['REMOVE_ADDR'] to an empty value with that example.
- 0
- 2010-11-05
- hakre
-
- 2010-11-17
디렉토리 위치에서 헤더 이미지 자동 추가
워드 프레스와 함께 제공되는 기본 메뉴에는 사용할 헤더 이미지를 선택할 수있는 추가 테마 메뉴가 활성화되어 있습니다. 기본 테마 코드 내에서 이러한 이미지는functions.php 파일에 하드 코딩됩니다. 아래 코드를 사용하면 wordpress에서 서버 (또는 테마 폴더 내)에서 직접 만들 수있는 특정 헤더 이미지를 기반으로 새 이미지를 자동으로 선택할 수 있습니다.
모든 .jpg 또는 .jpeg 파일이 자동으로 포함됩니다. 모든 이미지에는 관련 썸네일 파일이 있어야하지만 파일 이름이 "-thumbnail"로 끝나야하는 다른 이름을 가진 원본의 사본 일 수 있습니다. 연결 이름은 헤더 모양 설정의 설명으로 사용되며 밑줄은 자동으로 공백으로 바뀝니다. (예 : My_Header_Image_A.jpg,My_Header_Image_A=thumbnail.jpg에는 "내 헤더 이미지 A"가 자동으로 표시되는 설명이 있습니다.)
if ($handle = opendir( TEMPLATEPATH . '/images/headers/') ) { $headers = array(); while (false !== ($file = readdir($handle))) { $pos = strrpos( $file, '.' ); if( $pos !== false && $pos > 0 ) { $file_name = substr( $file, 0, $pos ); if( strpos( $file_name, "-thumbnail" ) === false ) { $file_ext = substr( $file, $pos+1 ); $file_ext_low = strtolower( $file_ext ); if( $file_ext_low == "jpg" || $file_ext_low == "jpeg" ) { $headers[$file_name] = array ( 'url' => '%s/images/headers/' . $file, 'thumbnail_url' => '%s/images/headers/' . $file_name ."-thumbnail." . $file_ext, 'description' => __( str_replace( "_", " ", $file_name ), 'twentyten' ) ); } } } } closedir($handle); register_default_headers( $headers ); }
Automatically adding header images from directory location
Within the default them which comes with wordpress you will notice an additional theme menu which gets activated that lets you select a header image to be utilized. Within the default theme code these images are hardcoded into the functions.php file. The code below allows wordpress to automatically pick up new images based upon a specific header image directly you can create on your server (or within your themes folder).
It will automatically include any .jpg or .jpeg files. Every image must have a associating thumbnail file but this can just be a copy of the original with a different name with a file name that has to end in "-thumbnail". The associating name is used as the description in the headers appearance settings and underscores are automatically replaced with spaces. (e.g. My_Header_Image_A.jpg, My_Header_Image_A=thumbnail.jpg will have a description automatically presented a “My Header Image A”)
if ($handle = opendir( TEMPLATEPATH . '/images/headers/') ) { $headers = array(); while (false !== ($file = readdir($handle))) { $pos = strrpos( $file, '.' ); if( $pos !== false && $pos > 0 ) { $file_name = substr( $file, 0, $pos ); if( strpos( $file_name, "-thumbnail" ) === false ) { $file_ext = substr( $file, $pos+1 ); $file_ext_low = strtolower( $file_ext ); if( $file_ext_low == "jpg" || $file_ext_low == "jpeg" ) { $headers[$file_name] = array ( 'url' => '%s/images/headers/' . $file, 'thumbnail_url' => '%s/images/headers/' . $file_name ."-thumbnail." . $file_ext, 'description' => __( str_replace( "_", " ", $file_name ), 'twentyten' ) ); } } } } closedir($handle); register_default_headers( $headers ); }
-
- 2011-03-21
댓글 상태가 닫힌 경우 관리 표시 줄에서 "댓글"링크 제거
기본 댓글 상태를 '닫힘'으로 설정할 수 있지만 댓글 링크는 그대로 유지됩니다.다음을
<사전> <코드>/** * 기본 상태가 _closed_ 인 경우 '댓글'링크 비활성화 */ remove_comments () 함수 { $ default_comment_status=get_option ( 'default_comment_status'); if ($ default_comment_status=='closed') { remove_action ( 'admin_bar_menu','wp_admin_bar_comments_menu',50); ///wp-includes/class-wp-admin-bar.php의 WP_Admin_Bar 클래스를 사용하는 선택적 솔루션 # 글로벌 $ wp_admin_bar; # $ wp_admin_bar- > remove_menu ( 'comments'); } 그밖에 { 반환; } }functions.php
파일에 드롭하기 만하면 조건에 따라 제거됩니다.2 가지 접근 방식을 제공합니다.Remove "Comments" link from admin bar if comment status is closed
You can set the default comment status to 'closed', but the comments link will stay. Simply drop the following into your
functions.php
file to get rid of it based on the condition. Offers 2 different approaches./** * Disable 'Comments' link if default status is _closed_ */ function remove_comments() { $default_comment_status = get_option( 'default_comment_status' ); if ( $default_comment_status == 'closed' ) { remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 50 ); // optional solution using the WP_Admin_Bar class from /wp-includes/class-wp-admin-bar.php # global $wp_admin_bar; # $wp_admin_bar->remove_menu( 'comments' ); } else { return; } }
-
- 2011-11-30
사용자가 각 메뉴 항목에 대해 사전 정의 된 CSS 클래스를 선택할 수있는 WP_NAV_MENUS에 사용자 정의 드롭 다운 옵션을 추가합니다.
<?php function menu_item_class_select(){ global $pagenow; if ($pagenow == "nav-menus.php"){ ?> <script> jQuery(document).ready(function(){ function create_dd(v){ //create dropdown var dd = jQuery('<select class="my_class"></select>'); //create dropdown options //array with the options you want var classes = ["","class1","class2","class3"]; jQuery.each(classes, function(i,val) { if (v == val){ dd.append('<option value="'+val+'" selected="selected">'+val+'</option>'); }else{ dd.append('<option value="'+val+'">'+val+'</option>'); } }); return dd; } jQuery(".edit-menu-item-classes").each(function() { //add dropdown var t = create_dd(jQuery(this).val()); jQuery(this).before(t); //hide all inputs jQuery(this).css("display","none"); }); //update input on selection jQuery(".my_class").bind("change", function() { var v = jQuery(this).val(); var inp = jQuery(this).next(); inp.attr("value",v); }); }); </script> <?php } } add_action('admin_footer','menu_item_class_select'); ?>
Adds a custom dropdown option to WP_NAV_MENUS where the user can select a predefined css class for each menu item
<?php function menu_item_class_select(){ global $pagenow; if ($pagenow == "nav-menus.php"){ ?> <script> jQuery(document).ready(function(){ function create_dd(v){ //create dropdown var dd = jQuery('<select class="my_class"></select>'); //create dropdown options //array with the options you want var classes = ["","class1","class2","class3"]; jQuery.each(classes, function(i,val) { if (v == val){ dd.append('<option value="'+val+'" selected="selected">'+val+'</option>'); }else{ dd.append('<option value="'+val+'">'+val+'</option>'); } }); return dd; } jQuery(".edit-menu-item-classes").each(function() { //add dropdown var t = create_dd(jQuery(this).val()); jQuery(this).before(t); //hide all inputs jQuery(this).css("display","none"); }); //update input on selection jQuery(".my_class").bind("change", function() { var v = jQuery(this).val(); var inp = jQuery(this).next(); inp.attr("value",v); }); }); </script> <?php } } add_action('admin_footer','menu_item_class_select'); ?>
-
- 2011-12-19
WordPress 3.3 관리 표시 줄 메뉴 항목 제거
function dashboard_tweaks() { global $wp_admin_bar; $wp_admin_bar->remove_menu('wp-logo'); $wp_admin_bar->remove_menu('about'); $wp_admin_bar->remove_menu('wporg'); $wp_admin_bar->remove_menu('documentation'); $wp_admin_bar->remove_menu('support-forums'); $wp_admin_bar->remove_menu('feedback'); $wp_admin_bar->remove_menu('view-site'); } add_action( 'wp_before_admin_bar_render', 'dashboard_tweaks' );
Remove WordPress 3.3 Admin Bar Menu Items
function dashboard_tweaks() { global $wp_admin_bar; $wp_admin_bar->remove_menu('wp-logo'); $wp_admin_bar->remove_menu('about'); $wp_admin_bar->remove_menu('wporg'); $wp_admin_bar->remove_menu('documentation'); $wp_admin_bar->remove_menu('support-forums'); $wp_admin_bar->remove_menu('feedback'); $wp_admin_bar->remove_menu('view-site'); } add_action( 'wp_before_admin_bar_render', 'dashboard_tweaks' );
Reference: http://pastebin.com/Wrk0JPxw
-
- 2010-11-04
공개 페이지에서 기본 카테고리 제외
웹 사이트의 전면에서 기본 카테고리를 제외합니다.
코드는 관리 영역을 제외합니다. 그렇지 않으면 기본 카테고리로 할당 된 게시물을 관리 할 방법이 없습니다.add_filter( 'list_terms_exclusions', 'exclude_default_cat' ); function exclude_default_cat( $exclusions ) { if( !is_admin() ) $exclusions .= "AND t.term_id != " . get_option( 'default_category' ) . " "; return $exclusions; }
Exclude default category from public pages
Excludes the default category from the front-facing side of the website.
Code excludes the admin area, else you'll have no way to manage posts assigned with the default category.add_filter( 'list_terms_exclusions', 'exclude_default_cat' ); function exclude_default_cat( $exclusions ) { if( !is_admin() ) $exclusions .= "AND t.term_id != " . get_option( 'default_category' ) . " "; return $exclusions; }
-
- 2010-12-03
로그인 한 사용자 정보 표시
if ( is_user_logged_in() ) { }
functions.php 파일에서 작동하지 않습니다.다음 코드를 사용할 수 있습니다.
if ( !function_exists('is_user_logged_in') ) : function is_user_logged_in() { $user = wp_get_current_user(); if ( $user->id == 0 ){ // This section if user is not logged in } else { // This section if user is logged in } } endif;
Displaying information for logged in users
if ( is_user_logged_in() ) { }
is not working in functions.php file. You can use this code:
if ( !function_exists('is_user_logged_in') ) : function is_user_logged_in() { $user = wp_get_current_user(); if ( $user->id == 0 ){ // This section if user is not logged in } else { // This section if user is logged in } } endif;
-
`if (! current_user_can ( 'read'))`는 게스트를 잡아야합니다 (즉,로그인하지 않은 사용자) ..`if( !current_user_can('read') )` should catch guests (ie. non-logged in users) ..
- 0
- 2010-12-07
- t31os
-
방금 테스트했는데`is_user_logged_in ()`이`functions.php`에서 잘 작동하는 것 같습니다 ... 왜 안 되는가에 대한 배경 정보가 있습니까?I just tested it and `is_user_logged_in()` seems to work just fine in `functions.php`?.. Any background info on why it's not supposed to?
- 2
- 2011-01-26
- Rarst
-
- 2011-06-13
로그인 페이지 및 관리자 용 사용자 정의 로고
<사전> <코드>/* ----------------------------------------------------------------------------------- */ /* 사용자 정의 로고 /* ----------------------------------------------------------------------------------- */ function custom_admin_logo () { 에코 ' & lt; 스타일 유형="text/css"> # header-logo {background-image : url ( '.get_bloginfo ('template_directory ').'/path/to/images/admin-logo.png)!important;} & lt;/스타일 > '; } add_action ( 'admin_head','custom_admin_logo'); function custom_login_logo () { echo '& lt; 스타일 유형="text/css"> h1 a {background-image : url ( '.get_bloginfo ('template_directory ').'/path/to/images/login-logo.png)!important;} & lt;/스타일 > '; } add_action ( 'login_head','custom_login_logo');Custom Logos for Login page and Admin
/*-----------------------------------------------------------------------------------*/ /* Custom logos /*-----------------------------------------------------------------------------------*/ function custom_admin_logo() { echo ' <style type="text/css"> #header-logo { background-image: url('.get_bloginfo('template_directory').'/path/to/images/admin-logo.png) !important; } </style> '; } add_action('admin_head', 'custom_admin_logo'); function custom_login_logo() { echo '<style type="text/css"> h1 a { background-image:url('.get_bloginfo('template_directory').'/path/to/images/login-logo.png) !important; } </style>'; } add_action('login_head', 'custom_login_logo');
-
[이 요점] (https://gist.github.com/671743)을 참조하세요.요점에 표시된 것보다 더 나은 옵션이 있습니다.trac 티켓에 참여할 수도 있습니다 (요점 플러그인 헤더의 링크).Please take a look at [this gist](https://gist.github.com/671743). There are even better options than shown in the gist. You could also try to participate on the trac ticket (link in gist plugin header).
- 2
- 2011-06-13
- kaiser
-
- 2011-06-13
사용자 목록에서 관리자 (사용자 # 1) 제거
function your_pre_user_query($user_search) { $user = wp_get_current_user(); if ($user->ID!=1) { global $wpdb; $user_search->query_where = str_replace('WHERE 1=1', "WHERE 1=1 AND {$wpdb->users}.ID<>1",$user_search->query_where); } } add_action('pre_user_query','your_pre_user_query');
Remove Admin (User #1) from User list
function your_pre_user_query($user_search) { $user = wp_get_current_user(); if ($user->ID!=1) { global $wpdb; $user_search->query_where = str_replace('WHERE 1=1', "WHERE 1=1 AND {$wpdb->users}.ID<>1",$user_search->query_where); } } add_action('pre_user_query','your_pre_user_query');
-
다시 : 사용자 1은 관리자가 아닐 수 있습니다.[Roles and Capabilities] (http://codex.wordpress.org/Roles_and_Capabilities)를 참조하십시오.Again: user 1 may be a non-admin. See [Roles and Capabilities](http://codex.wordpress.org/Roles_and_Capabilities).
- 0
- 2011-06-13
- fuxia
-
예입니다.또한 기본 설치에서 사용자 1은 Admin (처음 생성 된 사용자)입니다.이것이 제가 강조한 이유입니다 (사용자 # 1)It's an example. Plus in default installations the user 1 is Admin - the first user created. This is why I emphasized (User #1)
- 0
- 2011-06-13
- Daniel Sachs
-
관리 기능을 확인하지 않는 방법을 보여주는 예입니다.실제 웹 사이트에서이 코드를 사용해서는 안됩니다.It is an example showing how not to check for administrative capabilities. You should not use this code in a real website.
- 0
- 2011-06-13
- fuxia
-
바로 그거죠.이 코드는 기능,toscho를 확인하지 않고 특정 사용자를 확인합니다.이 코드는 기능과 관련이 없으며 어디에서도 기능을 언급하지 않았습니다.왜 이것이 생산 현장에서 사용될 수 없는지 모르겠습니다.Exactly. This code doesn't check for capabilities, toscho, but for specific user. This code has nothing to do with capabilities and I haven't mentioned capabilities anywhere. I don't see why this can not be used on production sites.
- 0
- 2011-06-13
- Daniel Sachs
-
@Daniel Sachs 처음으로 추가 된 관리자를 검색하는 경우 먼저 모든 사용자의 역할을 확인한 다음 ID별로 정렬하고 첫 번째 관리자를 선택하십시오.@toscho가 말했듯이 : 현재는 "예를 들어서는 안되는 방법"입니다.이유 : a) 실제 관리자가 가장 낮은 ID를 가진 관리자가 아닐 수 있습니다.b) 다른 사람이이 작업을 수행하는 경우 테마에서이 기능을 검색하지 않을 것입니다.@Daniel Sachs If you're searching for the first ever added administrator, please check the roles of all users first, then sort them by their ID and take the first one. As @toscho said: Currently it's "how you should not do it example". Reasons: a) the actual Admin might not be the one with the lowest ID b) If someone else would work on this, she/he wouldn't search for this functionality in a theme.
- 0
- 2011-06-13
- kaiser
-
- 2011-09-14
주어진 미리보기 이미지의 속성 가져 오기
이 함수를 루프와 함께 사용하여 미리보기 이미지의 너비,높이 및 URL을 결정합니다. 인라인 CSS를 통해 미리보기 이미지를 배경 요소로 할당하는 데 매우 편리합니다.
<사전> <코드> /** * 썸네일 속성 얻기 * * 썸네일의 너비,높이 및 URI를 가져옵니다. * * @ 작성자 필립 다우 너 & lt;[email protected]> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @ 버전 v1.0 * * @param string $ return 'path','width'또는 'height'를 허용합니다. * @param string $ size {@link add_image_size () WP corefunction}에 해당하는 미리보기 이미지 크기입니다. * @returnmixed 요청 된 정보를 반환하거나 '추천 이미지'가 할당되지 않은 경우 'false'를 반환합니다. */ functionget_thumb_attr ($ return,$ size='thumbnail') { 글로벌 $post; if (has_post_thumbnail ($post- > ID)) { $thumb=wp_get_attachment_image_src (get_post_thumbnail_id (),'intro'); if ($ return=='path') {return $thumb [0]; } if ($ return=='width') {return $thumb [1]; } if ($ return=='height') {return $thumb [2]; } }else { 거짓 반환; } }//end 함수Get Attributes of Given Thumbnail
Use this function with the loop to determine width, height and URL of a thumbnailed image. Very handy for assigning a thumbnailed image as a background element via inline CSS.
/** * GET THUMBNAIL ATTRIBUTES * * Fetches width, heigth and URI of a thumbnail. * * @author Philip Downer <[email protected]> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version v1.0 * * @param string $return Accepts 'path', 'width', or 'height'. * @param string $size The thumbnail size corresponding to {@link add_image_size() WP core function}. * @return mixed Returns the requested info, or if no 'Featured Image' assigned, returns 'false'. */ function get_thumb_attr($return,$size='thumbnail') { global $post; if (has_post_thumbnail($post->ID)) { $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'intro'); if ( $return == 'path' ) { return $thumb[0]; } if ( $return == 'width' ) { return $thumb[1]; } if ( $return == 'height' ) { return $thumb[2]; } } else { return false; } }//end function
-
- 2011-11-17
ID를 사용하여 사이드 바의 컨텍스트 외부에서 위젯의 콘텐츠를 출력합니다. HTML 전후의 래핑은 포함되지 않습니다. 앵글 링하려는 위젯의 특정 ID (예 : 'text-5')를 알아야합니다.
function widget_contents($id) { list($type,$number) = explode('-',$id); global $wp_registered_widgets; $wp_registered_widgets[$id]['callback'][0]->display_callback(array('widget_id'=>$id),$number); }
필요한 정확한 ID가 확실하지 않은 경우 wp_get_sidebars_widgets () 의 출력을 볼 수 있습니다.
dynamic_sidebar () 함수의 /wp-includes/widgets.php 에서 가져온 더 완전한 예 :
function render_widget($id) { global $wp_registered_widgets; $params = array_merge( array( array('widget_id' => $id, 'widget_name' => $wp_registered_widgets[$id]['name']) ), (array) $wp_registered_widgets[$id]['params'] ); $classname_ = ''; foreach ( (array) $wp_registered_widgets[$id]['classname'] as $cn ) { if ( is_string($cn) ) $classname_ .= '_' . $cn; elseif ( is_object($cn) ) $classname_ .= '_' . get_class($cn); } $classname_ = ltrim($classname_, '_'); $params[0]['before_widget'] = sprintf($params[0]['before_widget'], $id, $classname_); if ( is_callable($wp_registered_widgets[$id]['callback']) ) call_user_func_array($wp_registered_widgets[$id]['callback'], $params); }
Output the contents of a widget outside the context of a sidebar using it's ID. The wrapping before/after HTML is not included. You need to know the specific ID of the widget you're angling for (ie 'text-5').
function widget_contents($id) { list($type,$number) = explode('-',$id); global $wp_registered_widgets; $wp_registered_widgets[$id]['callback'][0]->display_callback(array('widget_id'=>$id),$number); }
You can peek at the output of wp_get_sidebars_widgets() if you aren't sure of the precise ID you need.
A more complete example lifted from /wp-includes/widgets.php under the dynamic_sidebar() function:
function render_widget($id) { global $wp_registered_widgets; $params = array_merge( array( array('widget_id' => $id, 'widget_name' => $wp_registered_widgets[$id]['name']) ), (array) $wp_registered_widgets[$id]['params'] ); $classname_ = ''; foreach ( (array) $wp_registered_widgets[$id]['classname'] as $cn ) { if ( is_string($cn) ) $classname_ .= '_' . $cn; elseif ( is_object($cn) ) $classname_ .= '_' . get_class($cn); } $classname_ = ltrim($classname_, '_'); $params[0]['before_widget'] = sprintf($params[0]['before_widget'], $id, $classname_); if ( is_callable($wp_registered_widgets[$id]['callback']) ) call_user_func_array($wp_registered_widgets[$id]['callback'], $params); }
-
도.훨씬 간단한 방법은`the_widget ()`http://codex.wordpress.org/Function_Reference/the_widget을 사용하는 것입니다.Doh. The much simpler method would be to use `the_widget()` http://codex.wordpress.org/Function_Reference/the_widget
- 0
- 2012-02-08
- dalethedeveloper
-
- 2011-12-04
맞춤형 웃음 (플러그인)
<사전> <코드>/** * 웃음. */ functionfilter_smilies_src ($img_src,$img,$ siteurl) { returnplugins_url ( '',__FILE__).'/img/smilies/'.$img; } add_filter ( 'smilies_src','filter_smilies_src',1,10);맞춤형 웃음 (테마)
<사전> <코드>/** * 웃음. */ functionfilter_smilies_src ($img_src,$img,$ siteurl) { get_bloginfo ( 'stylesheet_directory')를 반환합니다.'/images/smilies/'.$img; } add_filter ( 'smilies_src','filter_smilies_src',1,10);Custom smilies (plugin)
/** * Smilies. */ function filter_smilies_src($img_src, $img, $siteurl) { return plugins_url('', __FILE__) . '/img/smilies/' . $img; } add_filter('smilies_src', 'filter_smilies_src', 1, 10);
Custom smilies (theme)
/** * Smilies. */ function filter_smilies_src($img_src, $img, $siteurl) { return get_bloginfo('stylesheet_directory') . '/images/smilies/' . $img; } add_filter('smilies_src', 'filter_smilies_src', 1, 10);
-
- 2012-02-03
교차 분류 태그 쿼리
기본적으로 카테고리 로 설정된 특정 분류 매개 변수에 대한 모든 태그의 HTML 문자열과 같은
get_tags()
를 출력하는 캐시 된 쿼리입니다.$where_slug
및$where_tax
를 사용하여 다른 분류로 필터링 된 게시물 태그를 가져올 수 있습니다. SQL은 WP 3.1에서 WP 3.3.1로 테스트되었습니다.function tags_by_other_taxonomy($where_slug,$where_tax = 'category',$bust_cache = false) { $cache_key = "{$where_slug}:{$where_tax}"; $cache = get_transient('tags_by_other_taxonomy'); $html = ''; if( true !== $bust_cache and false !== $cache and isset($cache[$cache_key]) and !empty($cache[$cache_key]) ) { $html = $cache[$cache_key]; } else { global $wpdb; $cat_id = $wpdb->get_var("SELECT tt.term_taxonomy_id FROM $wpdb->terms t INNER JOIN $wpdb->term_taxonomy tt ON t.term_id = tt.term_id WHERE t.slug = '{$where_slug}' AND tt.taxonomy = '{$where_tax}' LIMIT 1"); if( !empty($cat_id) ) { $cat_posts = $wpdb->get_col("SELECT tr.object_id FROM $wpdb->term_relationships tr inner join $wpdb->posts p ON p.ID = tr.object_id WHERE term_taxonomy_id = {$cat_id} AND p.post_status = 'publish' AND p.post_type = 'post'"); if( count($cat_posts) ) { $tags = $wpdb->get_results("SELECT DISTINCT t.name,t.slug FROM $wpdb->term_taxonomy tt INNER JOIN $wpdb->term_relationships tr ON tt.term_taxonomy_id = tr.term_taxonomy_id INNER JOIN $wpdb->terms t ON t.term_id = tt.term_id WHERE tt.taxonomy = 'post_tag' and tr.object_id IN (".implode(',',$cat_posts) .')'); $html = '<ul class="post-tags-'.$where_slug.'">'; if( count($tags) ) { foreach($tags as $tag) $html .= '<li><a href="/tag/'.$tag->slug.'/" title="Posts tagged with '.$tag->name.'">'.$tag->name.'</a></li>'; } $html .= '</ul>'; if( !is_array($cache) ) $cache = array(); $cache[$cache_key] = $html; set_transient('sc_cross_tax', $cache, 86400); } } } echo $html; }
예를 들어 뉴스 카테고리 슬러그에서 게시 된 게시물 에 대한 모든 태그를 가져옵니다.
<?php echo tags_by_other_taxonomy('news'); ?>
Cross Taxonomy Tags Query
A cached query that outputs a
get_tags()
like HTML string of all tags for a given Taxonomy parameter defaulting to a Category. You can use$where_slug
and$where_tax
to get post tags filtered by any other taxonomy. SQL tested for WP 3.1 to WP 3.3.1.function tags_by_other_taxonomy($where_slug,$where_tax = 'category',$bust_cache = false) { $cache_key = "{$where_slug}:{$where_tax}"; $cache = get_transient('tags_by_other_taxonomy'); $html = ''; if( true !== $bust_cache and false !== $cache and isset($cache[$cache_key]) and !empty($cache[$cache_key]) ) { $html = $cache[$cache_key]; } else { global $wpdb; $cat_id = $wpdb->get_var("SELECT tt.term_taxonomy_id FROM $wpdb->terms t INNER JOIN $wpdb->term_taxonomy tt ON t.term_id = tt.term_id WHERE t.slug = '{$where_slug}' AND tt.taxonomy = '{$where_tax}' LIMIT 1"); if( !empty($cat_id) ) { $cat_posts = $wpdb->get_col("SELECT tr.object_id FROM $wpdb->term_relationships tr inner join $wpdb->posts p ON p.ID = tr.object_id WHERE term_taxonomy_id = {$cat_id} AND p.post_status = 'publish' AND p.post_type = 'post'"); if( count($cat_posts) ) { $tags = $wpdb->get_results("SELECT DISTINCT t.name,t.slug FROM $wpdb->term_taxonomy tt INNER JOIN $wpdb->term_relationships tr ON tt.term_taxonomy_id = tr.term_taxonomy_id INNER JOIN $wpdb->terms t ON t.term_id = tt.term_id WHERE tt.taxonomy = 'post_tag' and tr.object_id IN (".implode(',',$cat_posts) .')'); $html = '<ul class="post-tags-'.$where_slug.'">'; if( count($tags) ) { foreach($tags as $tag) $html .= '<li><a href="/tag/'.$tag->slug.'/" title="Posts tagged with '.$tag->name.'">'.$tag->name.'</a></li>'; } $html .= '</ul>'; if( !is_array($cache) ) $cache = array(); $cache[$cache_key] = $html; set_transient('sc_cross_tax', $cache, 86400); } } } echo $html; }
For example, get all tags for Published Posts in the news Category slug:
<?php echo tags_by_other_taxonomy('news'); ?>
-
- 2010-09-09
JQUERY를 통해 WYSIWYG 편집기 위치 변경
테스트 대상 : Wordpress 3.0.1
이 코드를 사용하면 wordpress가 POST 및 PAGES 화면에 기본적으로 추가하는 특정 메타 상자를 제거 할 수 있습니다.
// REPOSITION WYSIWYG EDITOR THROUGH JQUERY add_action('admin_head','admin_head_hook'); function admin_head_hook() { ?><style type="text/css"> #postdiv.postarea, #postdivrich.postarea { margin:0; } #post-status-info { line-height:1.4em; font-size:13px; } .custom-wysiwyg-editor-container { margin:2px 6px 6px 6px; } #ed_toolbar { display:none; } #postdiv #ed_toolbar, #postdivrich #ed_toolbar { display:block; } </style><?php } add_action('admin_footer','admin_footer_hook'); function admin_footer_hook() { ?><script type="text/javascript"> jQuery('#postdiv, #postdivrich').prependTo('.custom-wysiwyg-editor-container'); </script><?php }
Reposition the WYSIWYG Editor through JQUERY
Tested on: Wordpress 3.0.1
This code will allow you to remove specific meta boxes which wordpress adds by default to the POST and PAGES screens.
// REPOSITION WYSIWYG EDITOR THROUGH JQUERY add_action('admin_head','admin_head_hook'); function admin_head_hook() { ?><style type="text/css"> #postdiv.postarea, #postdivrich.postarea { margin:0; } #post-status-info { line-height:1.4em; font-size:13px; } .custom-wysiwyg-editor-container { margin:2px 6px 6px 6px; } #ed_toolbar { display:none; } #postdiv #ed_toolbar, #postdivrich #ed_toolbar { display:block; } </style><?php } add_action('admin_footer','admin_footer_hook'); function admin_footer_hook() { ?><script type="text/javascript"> jQuery('#postdiv, #postdivrich').prependTo('.custom-wysiwyg-editor-container'); </script><?php }
-
- 2010-09-09
WYSIWYG 편집기에서 누락 된 태그 자동 닫기
테스트 대상 : Wordpress 3.0.1
이 코드는 WYSIWYG 편집기를 사용할 때 누락 된 태그를 자동으로 닫습니다.
// AUTOMATICALLY CLEAN UP HTML WYSIWYG EDITOR BY CLOSING MISSING TAGS function clean_bad_content($bPrint = false) { global $post; $szPostContent = $post->post_content; $szRemoveFilter = array("~<p[^>]*>\s?</p>~", "~<a[^>]*>\s?</a>~", "~<font[^>]*>~", "~<\/font>~", "~style\=\"[^\"]*\"~", "~<span[^>]*>\s?</span>~"); $szPostContent = preg_replace($szRemoveFilter, '', $szPostContent); $szPostContent = apply_filters('the_content', $szPostContent); if ($bPrint == false) return $szPostContent; else echo $szPostContent; }
Automatically close missing tags from the WYSIWYG editor
Tested on: Wordpress 3.0.1
This code will automatically close any missing tags when using the WYSIWYG editor.
// AUTOMATICALLY CLEAN UP HTML WYSIWYG EDITOR BY CLOSING MISSING TAGS function clean_bad_content($bPrint = false) { global $post; $szPostContent = $post->post_content; $szRemoveFilter = array("~<p[^>]*>\s?</p>~", "~<a[^>]*>\s?</a>~", "~<font[^>]*>~", "~<\/font>~", "~style\=\"[^\"]*\"~", "~<span[^>]*>\s?</span>~"); $szPostContent = preg_replace($szRemoveFilter, '', $szPostContent); $szPostContent = apply_filters('the_content', $szPostContent); if ($bPrint == false) return $szPostContent; else echo $szPostContent; }
-
WordPress 자체에서 수행 할 수있는 옵션이 있음을 알려드립니다.IT는 설정에 관계없이 여러 사용자에게 강제로 적용해야하는 경우 유용 할 수 있습니다.하지만 대신 그 설정을 강제로 저장합니다.Just to let you know there is an option of doing that in WordPress itself. IT can be useful if one needs to force it for multiple users irrespective of their setting. But I would force saving that setting instead.
- 0
- 2011-04-20
- Ashfame
-
- 2011-01-28
role="search"
get_search_form()
속성 제거function remove_role_search($role) { $result = array(); preg_match_all('|role="[^"]*"|U', $role, $result); foreach ($result[0] as $role_tag) { $role = str_replace($role_tag, '', $role); } return $role; } add_filter('get_search_form', 'remove_role_search');
Remove
role="search"
attributes forget_search_form()
function remove_role_search($role) { $result = array(); preg_match_all('|role="[^"]*"|U', $role, $result); foreach ($result[0] as $role_tag) { $role = str_replace($role_tag, '', $role); } return $role; } add_filter('get_search_form', 'remove_role_search');
-
- 2011-02-23
wp_nav_menu에 로그인 링크 추가
//ADD LOGIN LINK TO MENU add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2); function add_login_logout_link($items, $args) { $loginoutlink = wp_loginout('index.php', false); $items .= '<li>'. $loginoutlink .'</li>'; return $items; }
Add a Login Link to wp_nav_menu
//ADD LOGIN LINK TO MENU add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2); function add_login_logout_link($items, $args) { $loginoutlink = wp_loginout('index.php', false); $items .= '<li>'. $loginoutlink .'</li>'; return $items; }
-
출력 버퍼링을 사용하지 마십시오.`wp_loginout ()`에는 두 번째 매개 변수`$echo`가있어 더 쉽게 사용할 수 있습니다.Do not use output buffering. `wp_loginout()` has a second parameter `$echo` to make your life easier.
- 3
- 2011-02-23
- fuxia
-
- 2011-05-12
관리자의 '게시물'메뉴 이름을 원하는대로 변경 (예 : '기사')
// hook the translation filters add_filter('gettext','change_post_to_article'); add_filter('ngettext','change_post_to_article'); function change_post_to_article( $translated ) { $translated = str_ireplace('Post','Article',$translated );// ireplace is PHP5 only return $translated; }
Changing "Posts" menu name in admin to whatever you wish (e.g. "Articles")
// hook the translation filters add_filter('gettext','change_post_to_article'); add_filter('ngettext','change_post_to_article'); function change_post_to_article( $translated ) { $translated = str_ireplace('Post','Article',$translated );// ireplace is PHP5 only return $translated; }
Credits to smashingmagazine.com
-
- 2011-09-14
링크 메뉴 항목 제거
내 WordPress 설치 중 대부분은 사용자가 '링크'메뉴 항목에 액세스 할 필요가 없습니다.이 기능은보기에서 제거합니다.
add_action( 'admin_menu', 'custom_admin_menu' ); function custom_admin_menu() { global $menu; // var_dump($menu); // use this to identify the key for the menu item you want to remove unset( $menu[15] ); //key 15 is links if ( !current_user_can('manage_options') ) { unset( $menu[75] ); } //key 75 is tools ... but only for non super admins }
Remove Links Menu Item
Many of my WordPress installs don't require that users have access to the 'Links' menu item. This function removes it from view.
add_action( 'admin_menu', 'custom_admin_menu' ); function custom_admin_menu() { global $menu; // var_dump($menu); // use this to identify the key for the menu item you want to remove unset( $menu[15] ); //key 15 is links if ( !current_user_can('manage_options') ) { unset( $menu[75] ); } //key 75 is tools ... but only for non super admins }
-
- 2011-09-14
비 관리자를위한 지금 업그레이드 비활성화 메시지
사실 저는이 코드를 사용하지 않는 것을 좋아합니다.대신 고객이 자신의 WordPress 설치를 업데이트하도록 허용하는 것을 선호합니다.이렇게하면 사이트를 최신 상태로 유지하고 더 나은 코드를 작성해야합니다.
if ( !current_user_can( 'manage_options' ) ) { add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 ); add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) ); }
Disable Upgrade Now Message for Non-Administrators
I'm actually a big fan of NOT using this code. Instead, I prefer to allow customers to update their own WordPress installs. This helps keep the site up-to-date and forces me to write better code.
if ( !current_user_can( 'manage_options' ) ) { add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 ); add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) ); }
-
- 2011-12-04
다음 및 이전 링크에 맞춤 수업 추가
add_filter('next_posts_link_attributes', 'posts_link_attributes'); add_filter('previous_posts_link_attributes', 'posts_link_attributes'); function posts_link_attributes(){ return 'class="styled-button"'; }
Add a custom class to the next and previous links
add_filter('next_posts_link_attributes', 'posts_link_attributes'); add_filter('previous_posts_link_attributes', 'posts_link_attributes'); function posts_link_attributes(){ return 'class="styled-button"'; }
-
- 2011-12-04
게시물이 게시 될 때 숨겨진 맞춤 입력란을 자동으로 추가하고 값을 게시물에 연결
add_action('publish_page', 'add_custom_field_automatically'); add_action('publish_post', 'add_custom_field_automatically'); function add_custom_field_automatically($post_ID) { global $wpdb; if(!wp_is_post_revision($post_ID)) { add_post_meta($post_ID, 'field-name', 'custom value', true); } }
Automatically add a hidden custom field and associating value to a post when the post is published
add_action('publish_page', 'add_custom_field_automatically'); add_action('publish_post', 'add_custom_field_automatically'); function add_custom_field_automatically($post_ID) { global $wpdb; if(!wp_is_post_revision($post_ID)) { add_post_meta($post_ID, 'field-name', 'custom value', true); } }
-
- 2011-12-17
보관 페이지에 맞춤 게시물 유형 추가
function namespace_add_custom_types( $query ) { if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) { $query->set( 'post_type', array( 'post', 'your-custom-post-type-here' )); return $query; } } add_filter( 'pre_get_posts', 'namespace_add_custom_types' );
Add custom post types to archives page
function namespace_add_custom_types( $query ) { if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) { $query->set( 'post_type', array( 'post', 'your-custom-post-type-here' )); return $query; } } add_filter( 'pre_get_posts', 'namespace_add_custom_types' );
-
- 2010-12-28
짧은 코드를 사용하여bloginfo 호출 ...
function digwp_bloginfo_shortcode($atts) { extract(shortcode_atts(array( 'key' => '', ), $atts)); return get_bloginfo($key); } add_shortcode('bloginfo', 'digwp_bloginfo_shortcode');
사용법 :
[bloginfo key='name']
Call bloginfo using shortcode...
function digwp_bloginfo_shortcode($atts) { extract(shortcode_atts(array( 'key' => '', ), $atts)); return get_bloginfo($key); } add_shortcode('bloginfo', 'digwp_bloginfo_shortcode');
Usage:
[bloginfo key='name']
-
이것이 유용 할 수있는 몇 가지 예를 추가 할 수 있습니까?Can you add some examples of where this could be useful?
- 0
- 2020-02-01
- Peter Mortensen
현재이 게시물을보고있는 다른 많은 사람들과 마찬가지로 저는 WordPress 기술을 배우고 향상시키기 위해 다양한 블로그,포럼 및 토론 그룹을 읽고 있습니다. 지난 12 개월 동안 저는
functions.php
파일에 코드를 대신 추가하여 플러그인 사용을 대체하는 임무를 수행했습니다.플러그인이 여러 상황에서 매우 유용하다는 데 완전히 동의하지만,내 경험에 따르면 플러그인이 존재할 수 있지만 사용 사례의 90 %에서 실제로 사용하면 불필요한 합병증과 호환성 문제가 발생할 수 있습니다. 또한 많은 경우에 이러한 플러그인은 내가 원하지 않거나 필요하지 않은 메뉴 및 기타 관리 요소를 추가했습니다.
플러그인 코드를 분석하여 원하는 코드를 제거하고
functions.php
에 하드 코딩 할 수 있다는 사실을 자주 발견했습니다. 이것은 불필요한 요소를 포함하지 않고도 필요한 정확한 기능을 제공했습니다.이 게시물의 목적은 독자/관리자/개발자 인 여러분이 유용하다고 생각하고 테마의
function.php
파일을 사용하여 플러그인을 사용하지 않고 WordPress를 확장하거나 향상시킬 수 있습니다.여기에 응답을 제출할 때 각 코드에 제목을 적어 주시고,호환되는 WordPress 버전이 무엇인지 알고 있고,기능을 가장 잘 설명하는 설명을 포함하고,해당하는 경우 링크를 포함하여 알려주십시오. 정보를 찾은 원본 플러그인 또는 소스로 이동합니다.
여러분의 모든 답변을 기대하며 찾을 때마다 내 새로운 발견을 계속해서 추가 할 것입니다.
질문 또는 답변의 왼쪽에있는 위쪽 화살표를 클릭하여 유용하다고 생각되는 질문과 답변에 투표하세요.