mqtranslate plus on wordpress 메뉴에서 사용자 정의 링크 번역
이 질문 다음에 내 내비게이션 메뉴의 링크를 워드프레스로 qtranslate로 번역하려면 어떻게 해야 합니까?저는 제 내비게이션 메뉴를 다른 언어로 번역하려고 합니다.
나는 첫 번째 대답에 적힌 모든 것을 했다.
- 다음 항목에 기능 포함
function.php
- 를 추가합니다.
'walker' => new CustomLinkModifierWalker()
에서header.php
파일. - 네비게이션 메뉴 이름 변경
<!- -:en- ->HOME<!- -:- -><!- -:gr- ->ΑΡΧΙΚΗ<!- -:- ->
및 url 로의/en|en|/|gr|
그런데 번역이 안 돼요.메뉴에는 다음과 같은 네비게이션의 두 문자열이 표시됩니다.HOMEΑΡΧΙΚΗ
링크는/en|en|/|gr|
.
내가 뭘 잘못하고 있지?아니면 메뉴를 번역하는 다른 방법이 있나요?
WordPress 4.0.1에서
갱신하다
이름 변경[:en]HOME[:el]ΑΡΧΙΚΗ
위의 코드가 없으면 번역은 가능하지만 URL은 아직 동작하지 않습니다.
업데이트 2
그리고 navmenu 코드:
그리스어:
<ul class="menu" id="nav-menu">
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1091"><a href="/">ΑΡΧΙΚΗ</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1092"><a href="/#our-company">ΣΧΕΤΙΚΑ</a></li>
</ul>
영어의 경우:
<ul class="menu" id="nav-menu">
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1091"><a href="/">HOME</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1092"><a href="/#our-company">ABOUT</a></li>
</ul>
업데이트 3
다음과 같이 태그를 포함한 풀 패스로 URL을 추가하려고 했습니다.
[:en]http://www.mydomain.gr/en[:el]http://www.mydomain.gr
그러나 "Save(저장)" 버튼을 클릭하면 URL 입력이 비어 있습니다.URL 경로는 저장되지 않습니다.업데이트 4
나는 함수에 코드를 추가한다.php 및 헤더에 있는 행이 표시됩니다.이것으로, admin 페이지에 옵션의 URL이 표시됩니다.그래서 URL을 삭제하고 다음과 같이 옵션을 추가했습니다.
<!--:en-->/en<!--:--><!--:el-->/<!--:-->
그리고 헤더에 코드를 추가했습니다.php:
<?php $defaults = array(
'theme_location' => 'other',
'container' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="nav-menu" class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => ''
);
wp_nav_menu( $defaults );
wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' , 'walker' => new qTranslate_Menu_Walker() ) );
?>
</div>
문제는 링크가 다음 형식으로 되어 있다는 것입니다./en/#about
동작하지만 이 형식의 링크/en/blog
는 동작하지 않고 기본 언어로 리다이렉트 됩니다.
메뉴의 URL 필드를 저장하면서 프로세스에 필터가 있는지 알아보려고 했는데, WordPress가 필터를 해제할 수 있는 가능성을 남기지 않고 자체적으로 필터 처리를 하고 있는 것 같습니다.
그래서 Optional URL이라는 추가 필드를 사용하여 해결 방법을 찾았습니다.이 필드가 (필터링되지 않은 콘텐츠)로 채워지면 WordPress는 보통 URL 필드 대신 이 필드를 사용합니다.
자, 이제 여러분의 기능에 대해서요.php 맨 아래에 이 코드를 배치하십시오.또는 다른 스크립트에 배치하여 함수에 포함시킬 수 있습니다.
//Return the custom meta
function um_add_optional_url( $menu_item ) {
$menu_item->optional_url = get_post_meta( $menu_item->ID, '_menu_item_optional_url', true );
return $menu_item;
}
add_filter( 'wp_setup_nav_menu_item', 'um_add_optional_url' );
//Update and save the optional url
function um_update_optional_url( $menu_id, $menu_item_db_id, $args ) {
if ( is_array( $_REQUEST['menu-item-optional-url']) ) {
$subtitle_value = $_REQUEST['menu-item-optional-url'][$menu_item_db_id];
update_post_meta( $menu_item_db_id, '_menu_item_optional_url', $subtitle_value );
}
}
add_action( 'wp_update_nav_menu_item', 'um_update_optional_url', 10, 3 );
//Custom Menu Walker to get the stored values
class qTranslate_Menu_Walker extends Walker {
/**
* What the class handles.
*
* @see Walker::$tree_type
* @since 3.0.0
* @var string
*/
public $tree_type = array( 'post_type', 'taxonomy', 'custom' );
/**
* Database fields to use.
*
* @see Walker::$db_fields
* @since 3.0.0
* @todo Decouple this.
* @var array
*/
public $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' );
/**
* Starts the list before the elements are added.
*
* @see Walker::start_lvl()
*
* @since 3.0.0
*
* @param string $output Passed by reference. Used to append additional content.
* @param int $depth Depth of menu item. Used for padding.
* @param array $args An array of arguments. @see wp_nav_menu()
*/
public function start_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"sub-menu\">\n";
}
/**
* Ends the list of after the elements are added.
*
* @see Walker::end_lvl()
*
* @since 3.0.0
*
* @param string $output Passed by reference. Used to append additional content.
* @param int $depth Depth of menu item. Used for padding.
* @param array $args An array of arguments. @see wp_nav_menu()
*/
public function end_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "$indent</ul>\n";
}
/**
* Start the element output.
*
* @see Walker::start_el()
*
* @since 3.0.0
*
* @param string $output Passed by reference. Used to append additional content.
* @param object $item Menu item data object.
* @param int $depth Depth of menu item. Used for padding.
* @param array $args An array of arguments. @see wp_nav_menu()
* @param int $id Current item ID.
*/
public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
$classes[] = 'menu-item-' . $item->ID;
/**
* Filter the CSS class(es) applied to a menu item's list item element.
*
* @since 3.0.0
* @since 4.1.0 The `$depth` parameter was added.
*
* @param array $classes The CSS classes that are applied to the menu item's `<li>` element.
* @param object $item The current menu item.
* @param array $args An array of {@see wp_nav_menu()} arguments.
* @param int $depth Depth of menu item. Used for padding.
*/
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) );
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
/**
* Filter the ID applied to a menu item's list item element.
*
* @since 3.0.1
* @since 4.1.0 The `$depth` parameter was added.
*
* @param string $menu_id The ID that is applied to the menu item's `<li>` element.
* @param object $item The current menu item.
* @param array $args An array of {@see wp_nav_menu()} arguments.
* @param int $depth Depth of menu item. Used for padding.
*/
$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args, $depth );
$id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
$output .= $indent . '<li' . $id . $class_names .'>';
$atts = array();
$atts['title'] = ! empty( $item->attr_title ) ? $item->attr_title : '';
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
/**
* Filter the HTML attributes applied to a menu item's anchor element.
*
* @since 3.6.0
* @since 4.1.0 The `$depth` parameter was added.
*
* @param array $atts {
* The HTML attributes applied to the menu item's `<a>` element, empty strings are ignored.
*
* @type string $title Title attribute.
* @type string $target Target attribute.
* @type string $rel The rel attribute.
* @type string $href The href attribute.
* }
* @param object $item The current menu item.
* @param array $args An array of {@see wp_nav_menu()} arguments.
* @param int $depth Depth of menu item. Used for padding.
*/
$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth );
$attributes = '';
foreach ( $atts as $attr => $value ) {
if ( ! empty( $value ) ) {
$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
//Inject the optional URL in case it exists and the attribute is href
if('href' === $attr){
if(property_exists($item,'optional_url') && $item->optional_url){
$value = __($item->optional_url);
}
}
$attributes .= ' ' . $attr . '="' . $value . '"';
}
}
$item_output = $args->before;
$item_output .= '<a'. $attributes .'>';
//$item_output .= property_exists($item,'optional_url') ? $item->optional_url : "no";
/** This filter is documented in wp-includes/post-template.php */
$item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
$item_output .= '</a>';
$item_output .= $args->after;
/**
* Filter a menu item's starting output.
*
* The menu item's starting output only includes `$args->before`, the opening `<a>`,
* the menu item's title, the closing `</a>`, and `$args->after`. Currently, there is
* no filter for modifying the opening and closing `<li>` for a menu item.
*
* @since 3.0.0
*
* @param string $item_output The menu item's starting HTML output.
* @param object $item Menu item data object.
* @param int $depth Depth of menu item. Used for padding.
* @param array $args An array of {@see wp_nav_menu()} arguments.
*/
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}
/**
* Ends the element output, if needed.
*
* @see Walker::end_el()
*
* @since 3.0.0
*
* @param string $output Passed by reference. Used to append additional content.
* @param object $item Page data object. Not used.
* @param int $depth Depth of page. Not Used.
* @param array $args An array of arguments. @see wp_nav_menu()
*/
public function end_el( &$output, $item, $depth = 0, $args = array() ) {
$output .= "</li>\n";
}
} // Walker_Nav_Menu
//Custom Walker on edit screen
add_filter( 'wp_edit_nav_menu_walker', 'custom_nav_edit_walker',10,2 );
function custom_nav_edit_walker($walker,$menu_id) {
return 'Walker_Nav_Menu_Edit_Custom';
}
class Walker_Nav_Menu_Edit_Custom extends Walker_Nav_Menu {
/**
* @see Walker_Nav_Menu::start_lvl()
* @since 3.0.0
*
* @param string $output Passed by reference.
*/
function start_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"sub-menu\">\n";
}
/**
* @see Walker_Nav_Menu::end_lvl()
* @since 3.0.0
*
* @param string $output Passed by reference.
*/
function end_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "$indent</ul>\n";
}
/**
* @see Walker::start_el()
* @since 3.0.0
*
* @param string $output Passed by reference. Used to append additional content.
* @param object $item Menu item data object.
* @param int $depth Depth of menu item. Used for padding.
* @param object $args
*/
function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
global $_wp_nav_menu_max_depth;
$_wp_nav_menu_max_depth = $depth > $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth;
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
ob_start();
$item_id = esc_attr( $item->ID );
$removed_args = array(
'action',
'customlink-tab',
'edit-menu-item',
'menu-item',
'page-tab',
'_wpnonce',
);
$original_title = '';
if ( 'taxonomy' == $item->type ) {
$original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' );
if ( is_wp_error( $original_title ) )
$original_title = false;
} elseif ( 'post_type' == $item->type ) {
$original_object = get_post( $item->object_id );
$original_title = $original_object->post_title;
}
$classes = array(
'menu-item menu-item-depth-' . $depth,
'menu-item-' . esc_attr( $item->object ),
'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? 'active' : 'inactive'),
);
$title = $item->title;
if ( ! empty( $item->_invalid ) ) {
$classes[] = 'menu-item-invalid';
/* translators: %s: title of menu item which is invalid */
$title = sprintf( __( '%s (Invalid)' ), $item->title );
} elseif ( isset( $item->post_status ) && 'draft' == $item->post_status ) {
$classes[] = 'pending';
/* translators: %s: title of menu item in draft status */
$title = sprintf( __('%s (Pending)'), $item->title );
}
$title = empty( $item->label ) ? $title : $item->label;
?>
<li id="menu-item-<?php echo $item_id; ?>" class="<?php echo implode(' ', $classes ); ?>">
<dl class="menu-item-bar">
<dt class="menu-item-handle">
<span class="item-title"><?php echo esc_html( $title ); ?></span>
<span class="item-controls">
<span class="item-type"><?php echo esc_html( $item->type_label ); ?></span>
<span class="item-order hide-if-js">
<a href="<?php
echo wp_nonce_url(
add_query_arg(
array(
'action' => 'move-up-menu-item',
'menu-item' => $item_id,
),
remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) )
),
'move-menu_item'
);
?>" class="item-move-up"><abbr title="<?php esc_attr_e('Move up'); ?>">↑</abbr></a>
|
<a href="<?php
echo wp_nonce_url(
add_query_arg(
array(
'action' => 'move-down-menu-item',
'menu-item' => $item_id,
),
remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) )
),
'move-menu_item'
);
?>" class="item-move-down"><abbr title="<?php esc_attr_e('Move down'); ?>">↓</abbr></a>
</span>
<a class="item-edit" id="edit-<?php echo $item_id; ?>" title="<?php esc_attr_e('Edit Menu Item'); ?>" href="<?php
echo ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? admin_url( 'nav-menus.php' ) : add_query_arg( 'edit-menu-item', $item_id, remove_query_arg( $removed_args, admin_url( 'nav-menus.php#menu-item-settings-' . $item_id ) ) );
?>"><?php _e( 'Edit Menu Item' ); ?></a>
</span>
</dt>
</dl>
<div class="menu-item-settings" id="menu-item-settings-<?php echo $item_id; ?>">
<?php if( 'custom' == $item->type ) : ?>
<p class="field-url description description-wide">
<label for="edit-menu-item-url-<?php echo $item_id; ?>">
<?php _e( 'URL' ); ?><br />
<input type="text" id="edit-menu-item-url-<?php echo $item_id; ?>" class="widefat code edit-menu-item-url" name="menu-item-url[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->url ); ?>" />
</label>
</p>
<?php endif; ?>
<p class="description description-thin">
<label for="edit-menu-item-title-<?php echo $item_id; ?>">
<?php _e( 'Navigation Label' ); ?><br />
<input type="text" id="edit-menu-item-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-title" name="menu-item-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->title ); ?>" />
</label>
</p>
<p class="description description-thin">
<label for="edit-menu-item-attr-title-<?php echo $item_id; ?>">
<?php _e( 'Title Attribute' ); ?><br />
<input type="text" id="edit-menu-item-attr-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->post_excerpt ); ?>" />
</label>
</p>
<p class="field-link-target description">
<label for="edit-menu-item-target-<?php echo $item_id; ?>">
<input type="checkbox" id="edit-menu-item-target-<?php echo $item_id; ?>" value="_blank" name="menu-item-target[<?php echo $item_id; ?>]"<?php checked( $item->target, '_blank' ); ?> />
<?php _e( 'Open link in a new window/tab' ); ?>
</label>
</p>
<p class="field-css-classes description description-thin">
<label for="edit-menu-item-classes-<?php echo $item_id; ?>">
<?php _e( 'CSS Classes (optional)' ); ?><br />
<input type="text" id="edit-menu-item-classes-<?php echo $item_id; ?>" class="widefat code edit-menu-item-classes" name="menu-item-classes[<?php echo $item_id; ?>]" value="<?php echo esc_attr( implode(' ', $item->classes ) ); ?>" />
</label>
</p>
<p class="field-xfn description description-thin">
<label for="edit-menu-item-xfn-<?php echo $item_id; ?>">
<?php _e( 'Link Relationship (XFN)' ); ?><br />
<input type="text" id="edit-menu-item-xfn-<?php echo $item_id; ?>" class="widefat code edit-menu-item-xfn" name="menu-item-xfn[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->xfn ); ?>" />
</label>
</p>
<p class="field-description description description-wide">
<label for="edit-menu-item-description-<?php echo $item_id; ?>">
<?php _e( 'Description' ); ?><br />
<textarea id="edit-menu-item-description-<?php echo $item_id; ?>" class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description[<?php echo $item_id; ?>]"><?php echo esc_html( $item->description ); // textarea_escaped ?></textarea>
<span class="description"><?php _e('The description will be displayed in the menu if the current theme supports it.'); ?></span>
</label>
</p>
<?php
/*
* This is the added field
*/
if($item->type == 'custom'):
?>
<p class="field-custom description description-wide">
<label for="edit-menu-item-custom-<?php echo $item_id; ?>">
<?php _e( 'Optional URL' ); ?><br />
<input type="text" id="edit-menu-item-custom-<?php echo $item_id; ?>" class="widefat code edit-menu-item-custom" name="menu-item-optional-url[<?php echo $item_id; ?>]" value="<?php echo $item->optional_url; ?>" />
<span class="description">Place an URL to use instead of the original one, while this one does not strip tags (stays unfiltered)</span>
</label>
</p>
<?php
endif;
/*
* end added field
*/
?>
<div class="menu-item-actions description-wide submitbox">
<?php if( 'custom' != $item->type && $original_title !== false ) : ?>
<p class="link-to-original">
<?php printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?>
</p>
<?php endif; ?>
<a class="item-delete submitdelete deletion" id="delete-<?php echo $item_id; ?>" href="<?php
echo wp_nonce_url(
add_query_arg(
array(
'action' => 'delete-menu-item',
'menu-item' => $item_id,
),
remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) )
),
'delete-menu_item_' . $item_id
); ?>"><?php _e('Remove'); ?></a> <span class="meta-sep"> | </span> <a class="item-cancel submitcancel" id="cancel-<?php echo $item_id; ?>" href="<?php echo esc_url( add_query_arg( array('edit-menu-item' => $item_id, 'cancel' => time()), remove_query_arg( $removed_args, admin_url( 'nav-menus.php' ) ) ) );
?>#menu-item-settings-<?php echo $item_id; ?>"><?php _e('Cancel'); ?></a>
</div>
<input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo $item_id; ?>]" value="<?php echo $item_id; ?>" />
<input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->object_id ); ?>" />
<input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->object ); ?>" />
<input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->menu_item_parent ); ?>" />
<input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->menu_order ); ?>" />
<input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->type ); ?>" />
</div><!-- .menu-item-settings-->
<ul class="menu-item-transport"></ul>
<?php
$output .= ob_get_clean();
}
}
머리글을 편집해 주세요.php 또는 전화하는 곳wp_nav_menu
이 새로운 워커를 파라미터로 기능시켜 전달합니다.
wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' , 'walker' => new qTranslate_Menu_Walker() ) );
어디에qTranslate_Menu_Walker
URL을 옵션 URL로 대체한 새로운 워커입니다.
: " " "<!--:en-->These language tags instead<!--:-->
qtranslate는 이 문제를 오랫동안 안고 있습니다.링크가 1개일 경우 실장은 기능하지만 언어별로 다른 링크가 있을 경우 이 문제는 기능하지 않습니다.이 문제를 해결하는 방법은 매우 간단합니다.다른 언어의 메뉴를 추가하면 됩니다.헤더에서는 사용자가 선택한 현재 언어에 따라 메뉴를 호출할 수 있습니다.
<?php
if(qtrans_getLanguage()=='en') // put your code here if the current language code is 'en' (English)
{
wp_nav_menu( array('menu' => 'Nav_en' ));
} elseif(qtrans_getLanguage()=='es') // put your code here if the current language code is 'es' (Español)
{
wp_nav_menu( array('menu' => 'Nav' ));
}
?>
편집:
단일 메뉴로 이 작업을 수행할 수 있는 또 다른 방법은 이 코드를 기능에 추가하는 것입니다.php
// Makes menu urls work with Qtranslate
function qtranslate_menu_item( $menu_item ) {
if (stripos($menu_item->url, get_site_url()) !== false){
$menu_item->url = qtrans_convertURL($menu_item->url);
}
return $menu_item;
}
add_filter('wp_setup_nav_menu_item', 'qtranslate_menu_item', 0);
/**************************************************/
안녕하세요 아나스타시오스 벤투리스
이 하나 .플러그인은 '마음껏'입니다."Transposh Translation Filter"
제 워드프레스에서는 메뉴, 커스텀 메뉴 링크 등 워드프레스 사이트에 로드된 모든 콘텐츠가 정상적으로 동작합니다.
관리자 측에서 언어 이름을 추가하고 위젯 쪽에서 번역 플러그인을 표시하는 위젯을 추가하면 됩니다.
그 때 아프리카 언어를 선택하면 사이트 데이터가 이 언어로 변환되어 화면에 올바른 형식과 출력이 표시됩니다.
이 플러그인을 사용해 보고 당신의 의견과 아이디어를 알려주세요.
mqTranslate는 qTranslate X를 위해 폐지되었습니다.권장되지 않는 플러그인을 위한 솔루션을 찾는 대신 qTranslate X를 사용하는 것이 좋습니다.사용하기 쉽고 추가 기능도 있습니다.
이 업데이트 코드를 사용해 보십시오.
<!--:en-->Ayahuasca<!--:--><!--:ru-->Аяуаска<!--:-->
메뉴 번역을 위한 업데이트된 코드입니다.또한 사이트 번역에서는 qTranslate 대신 mqTranslate를 사용합니다만, mqTranslate는 워드프레스용으로 업그레이드된 버전이 더 많습니다.
이게 도움이 됐으면 좋겠다
언급URL : https://stackoverflow.com/questions/28175174/translate-custom-links-on-menu-with-mqtranslate-plus-on-wordpress
'source' 카테고리의 다른 글
다운로드, jackson.codehaus.org jar의 (0) | 2023.03.15 |
---|---|
"wp_get_attachment_image($attachment_id)" 워드프레스 함수에 사용자 지정 클래스 추가 (0) | 2023.03.15 |
useNavigate()는 컴포넌트의 컨텍스트에서만 사용할 수 있습니다. (0) | 2023.03.15 |
Go 맵을 json으로 변환 (0) | 2023.03.15 |
무효 번호에 대응하는 PropType을 선언하려면 어떻게 해야 합니까? (0) | 2023.03.15 |